{-# language CPP #-}
-- No documentation found for Chapter "PipelineRasterizationStateCreateFlags"
module Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags  (PipelineRasterizationStateCreateFlags(..)) 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)
-- | VkPipelineRasterizationStateCreateFlags - Reserved for future use
--
-- = Description
--
-- 'PipelineRasterizationStateCreateFlags' is a bitmask type for setting a
-- mask, but is currently reserved for future use.
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
-- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo'
newtype PipelineRasterizationStateCreateFlags = PipelineRasterizationStateCreateFlags Flags
  deriving newtype (PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Bool
(PipelineRasterizationStateCreateFlags
 -> PipelineRasterizationStateCreateFlags -> Bool)
-> (PipelineRasterizationStateCreateFlags
    -> PipelineRasterizationStateCreateFlags -> Bool)
-> Eq PipelineRasterizationStateCreateFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Bool
== :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Bool
$c/= :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Bool
/= :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Bool
Eq, Eq PipelineRasterizationStateCreateFlags
Eq PipelineRasterizationStateCreateFlags =>
(PipelineRasterizationStateCreateFlags
 -> PipelineRasterizationStateCreateFlags -> Ordering)
-> (PipelineRasterizationStateCreateFlags
    -> PipelineRasterizationStateCreateFlags -> Bool)
-> (PipelineRasterizationStateCreateFlags
    -> PipelineRasterizationStateCreateFlags -> Bool)
-> (PipelineRasterizationStateCreateFlags
    -> PipelineRasterizationStateCreateFlags -> Bool)
-> (PipelineRasterizationStateCreateFlags
    -> PipelineRasterizationStateCreateFlags -> Bool)
-> (PipelineRasterizationStateCreateFlags
    -> PipelineRasterizationStateCreateFlags
    -> PipelineRasterizationStateCreateFlags)
-> (PipelineRasterizationStateCreateFlags
    -> PipelineRasterizationStateCreateFlags
    -> PipelineRasterizationStateCreateFlags)
-> Ord PipelineRasterizationStateCreateFlags
PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Bool
PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Ordering
PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
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
$ccompare :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Ordering
compare :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Ordering
$c< :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Bool
< :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Bool
$c<= :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Bool
<= :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Bool
$c> :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Bool
> :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Bool
$c>= :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Bool
>= :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> Bool
$cmax :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
max :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
$cmin :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
min :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
Ord, Ptr PipelineRasterizationStateCreateFlags
-> IO PipelineRasterizationStateCreateFlags
Ptr PipelineRasterizationStateCreateFlags
-> Int -> IO PipelineRasterizationStateCreateFlags
Ptr PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags -> IO ()
Ptr PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> IO ()
PipelineRasterizationStateCreateFlags -> Int
(PipelineRasterizationStateCreateFlags -> Int)
-> (PipelineRasterizationStateCreateFlags -> Int)
-> (Ptr PipelineRasterizationStateCreateFlags
    -> Int -> IO PipelineRasterizationStateCreateFlags)
-> (Ptr PipelineRasterizationStateCreateFlags
    -> Int -> PipelineRasterizationStateCreateFlags -> IO ())
-> (forall b.
    Ptr b -> Int -> IO PipelineRasterizationStateCreateFlags)
-> (forall b.
    Ptr b -> Int -> PipelineRasterizationStateCreateFlags -> IO ())
-> (Ptr PipelineRasterizationStateCreateFlags
    -> IO PipelineRasterizationStateCreateFlags)
-> (Ptr PipelineRasterizationStateCreateFlags
    -> PipelineRasterizationStateCreateFlags -> IO ())
-> Storable PipelineRasterizationStateCreateFlags
forall b. Ptr b -> Int -> IO PipelineRasterizationStateCreateFlags
forall b.
Ptr b -> Int -> PipelineRasterizationStateCreateFlags -> 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
$csizeOf :: PipelineRasterizationStateCreateFlags -> Int
sizeOf :: PipelineRasterizationStateCreateFlags -> Int
$calignment :: PipelineRasterizationStateCreateFlags -> Int
alignment :: PipelineRasterizationStateCreateFlags -> Int
$cpeekElemOff :: Ptr PipelineRasterizationStateCreateFlags
-> Int -> IO PipelineRasterizationStateCreateFlags
peekElemOff :: Ptr PipelineRasterizationStateCreateFlags
-> Int -> IO PipelineRasterizationStateCreateFlags
$cpokeElemOff :: Ptr PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags -> IO ()
pokeElemOff :: Ptr PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PipelineRasterizationStateCreateFlags
peekByteOff :: forall b. Ptr b -> Int -> IO PipelineRasterizationStateCreateFlags
$cpokeByteOff :: forall b.
Ptr b -> Int -> PipelineRasterizationStateCreateFlags -> IO ()
pokeByteOff :: forall b.
Ptr b -> Int -> PipelineRasterizationStateCreateFlags -> IO ()
$cpeek :: Ptr PipelineRasterizationStateCreateFlags
-> IO PipelineRasterizationStateCreateFlags
peek :: Ptr PipelineRasterizationStateCreateFlags
-> IO PipelineRasterizationStateCreateFlags
$cpoke :: Ptr PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> IO ()
poke :: Ptr PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags -> IO ()
Storable, PipelineRasterizationStateCreateFlags
PipelineRasterizationStateCreateFlags
-> Zero PipelineRasterizationStateCreateFlags
forall a. a -> Zero a
$czero :: PipelineRasterizationStateCreateFlags
zero :: PipelineRasterizationStateCreateFlags
Zero, Eq PipelineRasterizationStateCreateFlags
PipelineRasterizationStateCreateFlags
Eq PipelineRasterizationStateCreateFlags =>
(PipelineRasterizationStateCreateFlags
 -> PipelineRasterizationStateCreateFlags
 -> PipelineRasterizationStateCreateFlags)
-> (PipelineRasterizationStateCreateFlags
    -> PipelineRasterizationStateCreateFlags
    -> PipelineRasterizationStateCreateFlags)
-> (PipelineRasterizationStateCreateFlags
    -> PipelineRasterizationStateCreateFlags
    -> PipelineRasterizationStateCreateFlags)
-> (PipelineRasterizationStateCreateFlags
    -> PipelineRasterizationStateCreateFlags)
-> (PipelineRasterizationStateCreateFlags
    -> Int -> PipelineRasterizationStateCreateFlags)
-> (PipelineRasterizationStateCreateFlags
    -> Int -> PipelineRasterizationStateCreateFlags)
-> PipelineRasterizationStateCreateFlags
-> (Int -> PipelineRasterizationStateCreateFlags)
-> (PipelineRasterizationStateCreateFlags
    -> Int -> PipelineRasterizationStateCreateFlags)
-> (PipelineRasterizationStateCreateFlags
    -> Int -> PipelineRasterizationStateCreateFlags)
-> (PipelineRasterizationStateCreateFlags
    -> Int -> PipelineRasterizationStateCreateFlags)
-> (PipelineRasterizationStateCreateFlags -> Int -> Bool)
-> (PipelineRasterizationStateCreateFlags -> Maybe Int)
-> (PipelineRasterizationStateCreateFlags -> Int)
-> (PipelineRasterizationStateCreateFlags -> Bool)
-> (PipelineRasterizationStateCreateFlags
    -> Int -> PipelineRasterizationStateCreateFlags)
-> (PipelineRasterizationStateCreateFlags
    -> Int -> PipelineRasterizationStateCreateFlags)
-> (PipelineRasterizationStateCreateFlags
    -> Int -> PipelineRasterizationStateCreateFlags)
-> (PipelineRasterizationStateCreateFlags
    -> Int -> PipelineRasterizationStateCreateFlags)
-> (PipelineRasterizationStateCreateFlags
    -> Int -> PipelineRasterizationStateCreateFlags)
-> (PipelineRasterizationStateCreateFlags
    -> Int -> PipelineRasterizationStateCreateFlags)
-> (PipelineRasterizationStateCreateFlags -> Int)
-> Bits PipelineRasterizationStateCreateFlags
Int -> PipelineRasterizationStateCreateFlags
PipelineRasterizationStateCreateFlags -> Bool
PipelineRasterizationStateCreateFlags -> Int
PipelineRasterizationStateCreateFlags -> Maybe Int
PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
PipelineRasterizationStateCreateFlags -> Int -> Bool
PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
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
$c.&. :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
.&. :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
$c.|. :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
.|. :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
$cxor :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
xor :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
$ccomplement :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
complement :: PipelineRasterizationStateCreateFlags
-> PipelineRasterizationStateCreateFlags
$cshift :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
shift :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
$crotate :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
rotate :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
$czeroBits :: PipelineRasterizationStateCreateFlags
zeroBits :: PipelineRasterizationStateCreateFlags
$cbit :: Int -> PipelineRasterizationStateCreateFlags
bit :: Int -> PipelineRasterizationStateCreateFlags
$csetBit :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
setBit :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
$cclearBit :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
clearBit :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
$ccomplementBit :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
complementBit :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
$ctestBit :: PipelineRasterizationStateCreateFlags -> Int -> Bool
testBit :: PipelineRasterizationStateCreateFlags -> Int -> Bool
$cbitSizeMaybe :: PipelineRasterizationStateCreateFlags -> Maybe Int
bitSizeMaybe :: PipelineRasterizationStateCreateFlags -> Maybe Int
$cbitSize :: PipelineRasterizationStateCreateFlags -> Int
bitSize :: PipelineRasterizationStateCreateFlags -> Int
$cisSigned :: PipelineRasterizationStateCreateFlags -> Bool
isSigned :: PipelineRasterizationStateCreateFlags -> Bool
$cshiftL :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
shiftL :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
$cunsafeShiftL :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
unsafeShiftL :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
$cshiftR :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
shiftR :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
$cunsafeShiftR :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
unsafeShiftR :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
$crotateL :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
rotateL :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
$crotateR :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
rotateR :: PipelineRasterizationStateCreateFlags
-> Int -> PipelineRasterizationStateCreateFlags
$cpopCount :: PipelineRasterizationStateCreateFlags -> Int
popCount :: PipelineRasterizationStateCreateFlags -> Int
Bits, Bits PipelineRasterizationStateCreateFlags
Bits PipelineRasterizationStateCreateFlags =>
(PipelineRasterizationStateCreateFlags -> Int)
-> (PipelineRasterizationStateCreateFlags -> Int)
-> (PipelineRasterizationStateCreateFlags -> Int)
-> FiniteBits PipelineRasterizationStateCreateFlags
PipelineRasterizationStateCreateFlags -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: PipelineRasterizationStateCreateFlags -> Int
finiteBitSize :: PipelineRasterizationStateCreateFlags -> Int
$ccountLeadingZeros :: PipelineRasterizationStateCreateFlags -> Int
countLeadingZeros :: PipelineRasterizationStateCreateFlags -> Int
$ccountTrailingZeros :: PipelineRasterizationStateCreateFlags -> Int
countTrailingZeros :: PipelineRasterizationStateCreateFlags -> Int
FiniteBits)

conNamePipelineRasterizationStateCreateFlags :: String
conNamePipelineRasterizationStateCreateFlags :: String
conNamePipelineRasterizationStateCreateFlags = String
"PipelineRasterizationStateCreateFlags"

enumPrefixPipelineRasterizationStateCreateFlags :: String
enumPrefixPipelineRasterizationStateCreateFlags :: String
enumPrefixPipelineRasterizationStateCreateFlags = String
""

showTablePipelineRasterizationStateCreateFlags :: [(PipelineRasterizationStateCreateFlags, String)]
showTablePipelineRasterizationStateCreateFlags :: [(PipelineRasterizationStateCreateFlags, String)]
showTablePipelineRasterizationStateCreateFlags = []

instance Show PipelineRasterizationStateCreateFlags where
  showsPrec :: Int -> PipelineRasterizationStateCreateFlags -> ShowS
showsPrec =
    String
-> [(PipelineRasterizationStateCreateFlags, String)]
-> String
-> (PipelineRasterizationStateCreateFlags -> Flags)
-> (Flags -> ShowS)
-> Int
-> PipelineRasterizationStateCreateFlags
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
      String
enumPrefixPipelineRasterizationStateCreateFlags
      [(PipelineRasterizationStateCreateFlags, String)]
showTablePipelineRasterizationStateCreateFlags
      String
conNamePipelineRasterizationStateCreateFlags
      (\(PipelineRasterizationStateCreateFlags Flags
x) -> Flags
x)
      (\Flags
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags -> ShowS
forall a. Integral a => a -> ShowS
showHex Flags
x)

instance Read PipelineRasterizationStateCreateFlags where
  readPrec :: ReadPrec PipelineRasterizationStateCreateFlags
readPrec =
    String
-> [(PipelineRasterizationStateCreateFlags, String)]
-> String
-> (Flags -> PipelineRasterizationStateCreateFlags)
-> ReadPrec PipelineRasterizationStateCreateFlags
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
      String
enumPrefixPipelineRasterizationStateCreateFlags
      [(PipelineRasterizationStateCreateFlags, String)]
showTablePipelineRasterizationStateCreateFlags
      String
conNamePipelineRasterizationStateCreateFlags
      Flags -> PipelineRasterizationStateCreateFlags
PipelineRasterizationStateCreateFlags