{-# language CPP #-}
module Vulkan.Extensions.VK_AMD_pipeline_compiler_control ( PipelineCompilerControlCreateInfoAMD(..)
, PipelineCompilerControlFlagsAMD
, PipelineCompilerControlFlagBitsAMD(..)
, AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION
, pattern AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION
, AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME
, pattern AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME
) where
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import Foreign.Marshal.Alloc (allocaBytes)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Show (showString)
import Numeric (showHex)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero)
import Vulkan.Zero (Zero(..))
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Data.String (IsString)
import Data.Typeable (Typeable)
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.Generics (Generic)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Kind (Type)
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD))
data PipelineCompilerControlCreateInfoAMD = PipelineCompilerControlCreateInfoAMD
{
PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlFlagBitsAMD
compilerControlFlags :: PipelineCompilerControlFlagsAMD }
deriving (Typeable, PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlCreateInfoAMD -> Bool
(PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlCreateInfoAMD -> Bool)
-> (PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlCreateInfoAMD -> Bool)
-> Eq PipelineCompilerControlCreateInfoAMD
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlCreateInfoAMD -> Bool
$c/= :: PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlCreateInfoAMD -> Bool
== :: PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlCreateInfoAMD -> Bool
$c== :: PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlCreateInfoAMD -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PipelineCompilerControlCreateInfoAMD)
#endif
deriving instance Show PipelineCompilerControlCreateInfoAMD
instance ToCStruct PipelineCompilerControlCreateInfoAMD where
withCStruct :: forall b.
PipelineCompilerControlCreateInfoAMD
-> (Ptr PipelineCompilerControlCreateInfoAMD -> IO b) -> IO b
withCStruct PipelineCompilerControlCreateInfoAMD
x Ptr PipelineCompilerControlCreateInfoAMD -> IO b
f = Int -> (Ptr PipelineCompilerControlCreateInfoAMD -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PipelineCompilerControlCreateInfoAMD -> IO b) -> IO b)
-> (Ptr PipelineCompilerControlCreateInfoAMD -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PipelineCompilerControlCreateInfoAMD
p -> Ptr PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlCreateInfoAMD -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineCompilerControlCreateInfoAMD
p PipelineCompilerControlCreateInfoAMD
x (Ptr PipelineCompilerControlCreateInfoAMD -> IO b
f Ptr PipelineCompilerControlCreateInfoAMD
p)
pokeCStruct :: forall b.
Ptr PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlCreateInfoAMD -> IO b -> IO b
pokeCStruct Ptr PipelineCompilerControlCreateInfoAMD
p PipelineCompilerControlCreateInfoAMD{PipelineCompilerControlFlagBitsAMD
compilerControlFlags :: PipelineCompilerControlFlagBitsAMD
$sel:compilerControlFlags:PipelineCompilerControlCreateInfoAMD :: PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlFlagBitsAMD
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCompilerControlCreateInfoAMD
p Ptr PipelineCompilerControlCreateInfoAMD
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCompilerControlCreateInfoAMD
p Ptr PipelineCompilerControlCreateInfoAMD -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCompilerControlCreateInfoAMD
p Ptr PipelineCompilerControlCreateInfoAMD
-> Int -> Ptr PipelineCompilerControlFlagBitsAMD
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineCompilerControlFlagsAMD)) (PipelineCompilerControlFlagBitsAMD
compilerControlFlags)
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr PipelineCompilerControlCreateInfoAMD -> IO b -> IO b
pokeZeroCStruct Ptr PipelineCompilerControlCreateInfoAMD
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCompilerControlCreateInfoAMD
p Ptr PipelineCompilerControlCreateInfoAMD
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCompilerControlCreateInfoAMD
p Ptr PipelineCompilerControlCreateInfoAMD -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
IO b
f
instance FromCStruct PipelineCompilerControlCreateInfoAMD where
peekCStruct :: Ptr PipelineCompilerControlCreateInfoAMD
-> IO PipelineCompilerControlCreateInfoAMD
peekCStruct Ptr PipelineCompilerControlCreateInfoAMD
p = do
PipelineCompilerControlFlagBitsAMD
compilerControlFlags <- forall a. Storable a => Ptr a -> IO a
peek @PipelineCompilerControlFlagsAMD ((Ptr PipelineCompilerControlCreateInfoAMD
p Ptr PipelineCompilerControlCreateInfoAMD
-> Int -> Ptr PipelineCompilerControlFlagBitsAMD
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineCompilerControlFlagsAMD))
PipelineCompilerControlCreateInfoAMD
-> IO PipelineCompilerControlCreateInfoAMD
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PipelineCompilerControlCreateInfoAMD
-> IO PipelineCompilerControlCreateInfoAMD)
-> PipelineCompilerControlCreateInfoAMD
-> IO PipelineCompilerControlCreateInfoAMD
forall a b. (a -> b) -> a -> b
$ PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlCreateInfoAMD
PipelineCompilerControlCreateInfoAMD
PipelineCompilerControlFlagBitsAMD
compilerControlFlags
instance Storable PipelineCompilerControlCreateInfoAMD where
sizeOf :: PipelineCompilerControlCreateInfoAMD -> Int
sizeOf ~PipelineCompilerControlCreateInfoAMD
_ = Int
24
alignment :: PipelineCompilerControlCreateInfoAMD -> Int
alignment ~PipelineCompilerControlCreateInfoAMD
_ = Int
8
peek :: Ptr PipelineCompilerControlCreateInfoAMD
-> IO PipelineCompilerControlCreateInfoAMD
peek = Ptr PipelineCompilerControlCreateInfoAMD
-> IO PipelineCompilerControlCreateInfoAMD
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlCreateInfoAMD -> IO ()
poke Ptr PipelineCompilerControlCreateInfoAMD
ptr PipelineCompilerControlCreateInfoAMD
poked = Ptr PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlCreateInfoAMD -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineCompilerControlCreateInfoAMD
ptr PipelineCompilerControlCreateInfoAMD
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PipelineCompilerControlCreateInfoAMD where
zero :: PipelineCompilerControlCreateInfoAMD
zero = PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlCreateInfoAMD
PipelineCompilerControlCreateInfoAMD
PipelineCompilerControlFlagBitsAMD
forall a. Zero a => a
zero
type PipelineCompilerControlFlagsAMD = PipelineCompilerControlFlagBitsAMD
newtype PipelineCompilerControlFlagBitsAMD = PipelineCompilerControlFlagBitsAMD Flags
deriving newtype (PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool
(PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool)
-> (PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool)
-> Eq PipelineCompilerControlFlagBitsAMD
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool
$c/= :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool
== :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool
$c== :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool
Eq, Eq PipelineCompilerControlFlagBitsAMD
Eq PipelineCompilerControlFlagBitsAMD
-> (PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Ordering)
-> (PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool)
-> (PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool)
-> (PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool)
-> (PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool)
-> (PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD)
-> (PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD)
-> Ord PipelineCompilerControlFlagBitsAMD
PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool
PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Ordering
PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
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 :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
$cmin :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
max :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
$cmax :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
>= :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool
$c>= :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool
> :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool
$c> :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool
<= :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool
$c<= :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool
< :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool
$c< :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Bool
compare :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Ordering
$ccompare :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> Ordering
Ord, Ptr PipelineCompilerControlFlagBitsAMD
-> IO PipelineCompilerControlFlagBitsAMD
Ptr PipelineCompilerControlFlagBitsAMD
-> Int -> IO PipelineCompilerControlFlagBitsAMD
Ptr PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD -> IO ()
Ptr PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> IO ()
PipelineCompilerControlFlagBitsAMD -> Int
(PipelineCompilerControlFlagBitsAMD -> Int)
-> (PipelineCompilerControlFlagBitsAMD -> Int)
-> (Ptr PipelineCompilerControlFlagBitsAMD
-> Int -> IO PipelineCompilerControlFlagBitsAMD)
-> (Ptr PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD -> IO ())
-> (forall b.
Ptr b -> Int -> IO PipelineCompilerControlFlagBitsAMD)
-> (forall b.
Ptr b -> Int -> PipelineCompilerControlFlagBitsAMD -> IO ())
-> (Ptr PipelineCompilerControlFlagBitsAMD
-> IO PipelineCompilerControlFlagBitsAMD)
-> (Ptr PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> IO ())
-> Storable PipelineCompilerControlFlagBitsAMD
forall b. Ptr b -> Int -> IO PipelineCompilerControlFlagBitsAMD
forall b.
Ptr b -> Int -> PipelineCompilerControlFlagBitsAMD -> 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 PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> IO ()
$cpoke :: Ptr PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD -> IO ()
peek :: Ptr PipelineCompilerControlFlagBitsAMD
-> IO PipelineCompilerControlFlagBitsAMD
$cpeek :: Ptr PipelineCompilerControlFlagBitsAMD
-> IO PipelineCompilerControlFlagBitsAMD
pokeByteOff :: forall b.
Ptr b -> Int -> PipelineCompilerControlFlagBitsAMD -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> PipelineCompilerControlFlagBitsAMD -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO PipelineCompilerControlFlagBitsAMD
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PipelineCompilerControlFlagBitsAMD
pokeElemOff :: Ptr PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD -> IO ()
$cpokeElemOff :: Ptr PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD -> IO ()
peekElemOff :: Ptr PipelineCompilerControlFlagBitsAMD
-> Int -> IO PipelineCompilerControlFlagBitsAMD
$cpeekElemOff :: Ptr PipelineCompilerControlFlagBitsAMD
-> Int -> IO PipelineCompilerControlFlagBitsAMD
alignment :: PipelineCompilerControlFlagBitsAMD -> Int
$calignment :: PipelineCompilerControlFlagBitsAMD -> Int
sizeOf :: PipelineCompilerControlFlagBitsAMD -> Int
$csizeOf :: PipelineCompilerControlFlagBitsAMD -> Int
Storable, PipelineCompilerControlFlagBitsAMD
PipelineCompilerControlFlagBitsAMD
-> Zero PipelineCompilerControlFlagBitsAMD
forall a. a -> Zero a
zero :: PipelineCompilerControlFlagBitsAMD
$czero :: PipelineCompilerControlFlagBitsAMD
Zero, Eq PipelineCompilerControlFlagBitsAMD
PipelineCompilerControlFlagBitsAMD
Eq PipelineCompilerControlFlagBitsAMD
-> (PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD)
-> (PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD)
-> (PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD)
-> (PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD)
-> (PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD)
-> (PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD)
-> PipelineCompilerControlFlagBitsAMD
-> (Int -> PipelineCompilerControlFlagBitsAMD)
-> (PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD)
-> (PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD)
-> (PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD)
-> (PipelineCompilerControlFlagBitsAMD -> Int -> Bool)
-> (PipelineCompilerControlFlagBitsAMD -> Maybe Int)
-> (PipelineCompilerControlFlagBitsAMD -> Int)
-> (PipelineCompilerControlFlagBitsAMD -> Bool)
-> (PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD)
-> (PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD)
-> (PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD)
-> (PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD)
-> (PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD)
-> (PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD)
-> (PipelineCompilerControlFlagBitsAMD -> Int)
-> Bits PipelineCompilerControlFlagBitsAMD
Int -> PipelineCompilerControlFlagBitsAMD
PipelineCompilerControlFlagBitsAMD -> Bool
PipelineCompilerControlFlagBitsAMD -> Int
PipelineCompilerControlFlagBitsAMD -> Maybe Int
PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
PipelineCompilerControlFlagBitsAMD -> Int -> Bool
PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
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 :: PipelineCompilerControlFlagBitsAMD -> Int
$cpopCount :: PipelineCompilerControlFlagBitsAMD -> Int
rotateR :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
$crotateR :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
rotateL :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
$crotateL :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
unsafeShiftR :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
$cunsafeShiftR :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
shiftR :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
$cshiftR :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
unsafeShiftL :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
$cunsafeShiftL :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
shiftL :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
$cshiftL :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
isSigned :: PipelineCompilerControlFlagBitsAMD -> Bool
$cisSigned :: PipelineCompilerControlFlagBitsAMD -> Bool
bitSize :: PipelineCompilerControlFlagBitsAMD -> Int
$cbitSize :: PipelineCompilerControlFlagBitsAMD -> Int
bitSizeMaybe :: PipelineCompilerControlFlagBitsAMD -> Maybe Int
$cbitSizeMaybe :: PipelineCompilerControlFlagBitsAMD -> Maybe Int
testBit :: PipelineCompilerControlFlagBitsAMD -> Int -> Bool
$ctestBit :: PipelineCompilerControlFlagBitsAMD -> Int -> Bool
complementBit :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
$ccomplementBit :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
clearBit :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
$cclearBit :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
setBit :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
$csetBit :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
bit :: Int -> PipelineCompilerControlFlagBitsAMD
$cbit :: Int -> PipelineCompilerControlFlagBitsAMD
zeroBits :: PipelineCompilerControlFlagBitsAMD
$czeroBits :: PipelineCompilerControlFlagBitsAMD
rotate :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
$crotate :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
shift :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
$cshift :: PipelineCompilerControlFlagBitsAMD
-> Int -> PipelineCompilerControlFlagBitsAMD
complement :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
$ccomplement :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
xor :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
$cxor :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
.|. :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
$c.|. :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
.&. :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
$c.&. :: PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
-> PipelineCompilerControlFlagBitsAMD
Bits, Bits PipelineCompilerControlFlagBitsAMD
Bits PipelineCompilerControlFlagBitsAMD
-> (PipelineCompilerControlFlagBitsAMD -> Int)
-> (PipelineCompilerControlFlagBitsAMD -> Int)
-> (PipelineCompilerControlFlagBitsAMD -> Int)
-> FiniteBits PipelineCompilerControlFlagBitsAMD
PipelineCompilerControlFlagBitsAMD -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: PipelineCompilerControlFlagBitsAMD -> Int
$ccountTrailingZeros :: PipelineCompilerControlFlagBitsAMD -> Int
countLeadingZeros :: PipelineCompilerControlFlagBitsAMD -> Int
$ccountLeadingZeros :: PipelineCompilerControlFlagBitsAMD -> Int
finiteBitSize :: PipelineCompilerControlFlagBitsAMD -> Int
$cfiniteBitSize :: PipelineCompilerControlFlagBitsAMD -> Int
FiniteBits)
conNamePipelineCompilerControlFlagBitsAMD :: String
conNamePipelineCompilerControlFlagBitsAMD :: String
conNamePipelineCompilerControlFlagBitsAMD = String
"PipelineCompilerControlFlagBitsAMD"
enumPrefixPipelineCompilerControlFlagBitsAMD :: String
enumPrefixPipelineCompilerControlFlagBitsAMD :: String
enumPrefixPipelineCompilerControlFlagBitsAMD = String
""
showTablePipelineCompilerControlFlagBitsAMD :: [(PipelineCompilerControlFlagBitsAMD, String)]
showTablePipelineCompilerControlFlagBitsAMD :: [(PipelineCompilerControlFlagBitsAMD, String)]
showTablePipelineCompilerControlFlagBitsAMD = []
instance Show PipelineCompilerControlFlagBitsAMD where
showsPrec :: Int -> PipelineCompilerControlFlagBitsAMD -> ShowS
showsPrec =
String
-> [(PipelineCompilerControlFlagBitsAMD, String)]
-> String
-> (PipelineCompilerControlFlagBitsAMD -> Flags)
-> (Flags -> ShowS)
-> Int
-> PipelineCompilerControlFlagBitsAMD
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixPipelineCompilerControlFlagBitsAMD
[(PipelineCompilerControlFlagBitsAMD, String)]
showTablePipelineCompilerControlFlagBitsAMD
String
conNamePipelineCompilerControlFlagBitsAMD
(\(PipelineCompilerControlFlagBitsAMD 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, Show a) => a -> ShowS
showHex Flags
x)
instance Read PipelineCompilerControlFlagBitsAMD where
readPrec :: ReadPrec PipelineCompilerControlFlagBitsAMD
readPrec =
String
-> [(PipelineCompilerControlFlagBitsAMD, String)]
-> String
-> (Flags -> PipelineCompilerControlFlagBitsAMD)
-> ReadPrec PipelineCompilerControlFlagBitsAMD
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixPipelineCompilerControlFlagBitsAMD
[(PipelineCompilerControlFlagBitsAMD, String)]
showTablePipelineCompilerControlFlagBitsAMD
String
conNamePipelineCompilerControlFlagBitsAMD
Flags -> PipelineCompilerControlFlagBitsAMD
PipelineCompilerControlFlagBitsAMD
type AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION = 1
pattern AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION :: forall a . Integral a => a
pattern $bAMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION :: forall a. Integral a => a
$mAMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> (Void# -> r) -> (Void# -> r) -> r
AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION = 1
type AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME = "VK_AMD_pipeline_compiler_control"
pattern AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bAMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
$mAMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> (Void# -> r) -> (Void# -> r) -> r
AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME = "VK_AMD_pipeline_compiler_control"