{-# 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 Data.Bits (Bits)
import Data.Bits (FiniteBits)
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.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
-> PipelineCompilerControlFlagsAMD
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
$c== :: PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlCreateInfoAMD -> Bool
== :: PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlCreateInfoAMD -> Bool
$c/= :: PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlCreateInfoAMD -> Bool
/= :: 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 b.
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{PipelineCompilerControlFlagsAMD
$sel:compilerControlFlags:PipelineCompilerControlCreateInfoAMD :: PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlFlagsAMD
compilerControlFlags :: PipelineCompilerControlFlagsAMD
..} 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 PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCompilerControlCreateInfoAMD
p Ptr PipelineCompilerControlCreateInfoAMD
-> Int -> Ptr PipelineCompilerControlFlagsAMD
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineCompilerControlFlagsAMD)) (PipelineCompilerControlFlagsAMD
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
PipelineCompilerControlFlagsAMD
compilerControlFlags <- forall a. Storable a => Ptr a -> IO a
peek @PipelineCompilerControlFlagsAMD ((Ptr PipelineCompilerControlCreateInfoAMD
p Ptr PipelineCompilerControlCreateInfoAMD
-> Int -> Ptr PipelineCompilerControlFlagsAMD
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineCompilerControlFlagsAMD))
PipelineCompilerControlCreateInfoAMD
-> IO PipelineCompilerControlCreateInfoAMD
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PipelineCompilerControlCreateInfoAMD
-> IO PipelineCompilerControlCreateInfoAMD)
-> PipelineCompilerControlCreateInfoAMD
-> IO PipelineCompilerControlCreateInfoAMD
forall a b. (a -> b) -> a -> b
$ PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlCreateInfoAMD
PipelineCompilerControlCreateInfoAMD
PipelineCompilerControlFlagsAMD
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 b.
Ptr PipelineCompilerControlCreateInfoAMD
-> PipelineCompilerControlCreateInfoAMD -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineCompilerControlCreateInfoAMD
ptr PipelineCompilerControlCreateInfoAMD
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PipelineCompilerControlCreateInfoAMD where
zero :: PipelineCompilerControlCreateInfoAMD
zero = PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlCreateInfoAMD
PipelineCompilerControlCreateInfoAMD
PipelineCompilerControlFlagsAMD
forall a. Zero a => a
zero
type PipelineCompilerControlFlagsAMD = PipelineCompilerControlFlagBitsAMD
newtype PipelineCompilerControlFlagBitsAMD = PipelineCompilerControlFlagBitsAMD Flags
deriving newtype (PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool
(PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool)
-> (PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool)
-> Eq PipelineCompilerControlFlagsAMD
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool
== :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool
$c/= :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool
/= :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool
Eq, Eq PipelineCompilerControlFlagsAMD
Eq PipelineCompilerControlFlagsAMD =>
(PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Ordering)
-> (PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool)
-> (PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool)
-> (PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool)
-> (PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool)
-> (PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD)
-> (PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD)
-> Ord PipelineCompilerControlFlagsAMD
PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool
PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Ordering
PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
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 :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Ordering
compare :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Ordering
$c< :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool
< :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool
$c<= :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool
<= :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool
$c> :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool
> :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool
$c>= :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool
>= :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> Bool
$cmax :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
max :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
$cmin :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
min :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
Ord, Ptr PipelineCompilerControlFlagsAMD
-> IO PipelineCompilerControlFlagsAMD
Ptr PipelineCompilerControlFlagsAMD
-> Int -> IO PipelineCompilerControlFlagsAMD
Ptr PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD -> IO ()
Ptr PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> IO ()
PipelineCompilerControlFlagsAMD -> Int
(PipelineCompilerControlFlagsAMD -> Int)
-> (PipelineCompilerControlFlagsAMD -> Int)
-> (Ptr PipelineCompilerControlFlagsAMD
-> Int -> IO PipelineCompilerControlFlagsAMD)
-> (Ptr PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD -> IO ())
-> (forall b. Ptr b -> Int -> IO PipelineCompilerControlFlagsAMD)
-> (forall b.
Ptr b -> Int -> PipelineCompilerControlFlagsAMD -> IO ())
-> (Ptr PipelineCompilerControlFlagsAMD
-> IO PipelineCompilerControlFlagsAMD)
-> (Ptr PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> IO ())
-> Storable PipelineCompilerControlFlagsAMD
forall b. Ptr b -> Int -> IO PipelineCompilerControlFlagsAMD
forall b. Ptr b -> Int -> PipelineCompilerControlFlagsAMD -> 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 :: PipelineCompilerControlFlagsAMD -> Int
sizeOf :: PipelineCompilerControlFlagsAMD -> Int
$calignment :: PipelineCompilerControlFlagsAMD -> Int
alignment :: PipelineCompilerControlFlagsAMD -> Int
$cpeekElemOff :: Ptr PipelineCompilerControlFlagsAMD
-> Int -> IO PipelineCompilerControlFlagsAMD
peekElemOff :: Ptr PipelineCompilerControlFlagsAMD
-> Int -> IO PipelineCompilerControlFlagsAMD
$cpokeElemOff :: Ptr PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD -> IO ()
pokeElemOff :: Ptr PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PipelineCompilerControlFlagsAMD
peekByteOff :: forall b. Ptr b -> Int -> IO PipelineCompilerControlFlagsAMD
$cpokeByteOff :: forall b. Ptr b -> Int -> PipelineCompilerControlFlagsAMD -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> PipelineCompilerControlFlagsAMD -> IO ()
$cpeek :: Ptr PipelineCompilerControlFlagsAMD
-> IO PipelineCompilerControlFlagsAMD
peek :: Ptr PipelineCompilerControlFlagsAMD
-> IO PipelineCompilerControlFlagsAMD
$cpoke :: Ptr PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> IO ()
poke :: Ptr PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD -> IO ()
Storable, PipelineCompilerControlFlagsAMD
PipelineCompilerControlFlagsAMD
-> Zero PipelineCompilerControlFlagsAMD
forall a. a -> Zero a
$czero :: PipelineCompilerControlFlagsAMD
zero :: PipelineCompilerControlFlagsAMD
Zero, Eq PipelineCompilerControlFlagsAMD
PipelineCompilerControlFlagsAMD
Eq PipelineCompilerControlFlagsAMD =>
(PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD)
-> (PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD)
-> (PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD)
-> (PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD)
-> (PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD)
-> (PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD)
-> PipelineCompilerControlFlagsAMD
-> (Int -> PipelineCompilerControlFlagsAMD)
-> (PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD)
-> (PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD)
-> (PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD)
-> (PipelineCompilerControlFlagsAMD -> Int -> Bool)
-> (PipelineCompilerControlFlagsAMD -> Maybe Int)
-> (PipelineCompilerControlFlagsAMD -> Int)
-> (PipelineCompilerControlFlagsAMD -> Bool)
-> (PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD)
-> (PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD)
-> (PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD)
-> (PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD)
-> (PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD)
-> (PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD)
-> (PipelineCompilerControlFlagsAMD -> Int)
-> Bits PipelineCompilerControlFlagsAMD
Int -> PipelineCompilerControlFlagsAMD
PipelineCompilerControlFlagsAMD -> Bool
PipelineCompilerControlFlagsAMD -> Int
PipelineCompilerControlFlagsAMD -> Maybe Int
PipelineCompilerControlFlagsAMD -> PipelineCompilerControlFlagsAMD
PipelineCompilerControlFlagsAMD -> Int -> Bool
PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
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.&. :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
.&. :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
$c.|. :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
.|. :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
$cxor :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
xor :: PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
-> PipelineCompilerControlFlagsAMD
$ccomplement :: PipelineCompilerControlFlagsAMD -> PipelineCompilerControlFlagsAMD
complement :: PipelineCompilerControlFlagsAMD -> PipelineCompilerControlFlagsAMD
$cshift :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
shift :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
$crotate :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
rotate :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
$czeroBits :: PipelineCompilerControlFlagsAMD
zeroBits :: PipelineCompilerControlFlagsAMD
$cbit :: Int -> PipelineCompilerControlFlagsAMD
bit :: Int -> PipelineCompilerControlFlagsAMD
$csetBit :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
setBit :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
$cclearBit :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
clearBit :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
$ccomplementBit :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
complementBit :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
$ctestBit :: PipelineCompilerControlFlagsAMD -> Int -> Bool
testBit :: PipelineCompilerControlFlagsAMD -> Int -> Bool
$cbitSizeMaybe :: PipelineCompilerControlFlagsAMD -> Maybe Int
bitSizeMaybe :: PipelineCompilerControlFlagsAMD -> Maybe Int
$cbitSize :: PipelineCompilerControlFlagsAMD -> Int
bitSize :: PipelineCompilerControlFlagsAMD -> Int
$cisSigned :: PipelineCompilerControlFlagsAMD -> Bool
isSigned :: PipelineCompilerControlFlagsAMD -> Bool
$cshiftL :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
shiftL :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
$cunsafeShiftL :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
unsafeShiftL :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
$cshiftR :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
shiftR :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
$cunsafeShiftR :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
unsafeShiftR :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
$crotateL :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
rotateL :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
$crotateR :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
rotateR :: PipelineCompilerControlFlagsAMD
-> Int -> PipelineCompilerControlFlagsAMD
$cpopCount :: PipelineCompilerControlFlagsAMD -> Int
popCount :: PipelineCompilerControlFlagsAMD -> Int
Bits, Bits PipelineCompilerControlFlagsAMD
Bits PipelineCompilerControlFlagsAMD =>
(PipelineCompilerControlFlagsAMD -> Int)
-> (PipelineCompilerControlFlagsAMD -> Int)
-> (PipelineCompilerControlFlagsAMD -> Int)
-> FiniteBits PipelineCompilerControlFlagsAMD
PipelineCompilerControlFlagsAMD -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: PipelineCompilerControlFlagsAMD -> Int
finiteBitSize :: PipelineCompilerControlFlagsAMD -> Int
$ccountLeadingZeros :: PipelineCompilerControlFlagsAMD -> Int
countLeadingZeros :: PipelineCompilerControlFlagsAMD -> Int
$ccountTrailingZeros :: PipelineCompilerControlFlagsAMD -> Int
countTrailingZeros :: PipelineCompilerControlFlagsAMD -> Int
FiniteBits)
conNamePipelineCompilerControlFlagBitsAMD :: String
conNamePipelineCompilerControlFlagBitsAMD :: String
conNamePipelineCompilerControlFlagBitsAMD = String
"PipelineCompilerControlFlagBitsAMD"
enumPrefixPipelineCompilerControlFlagBitsAMD :: String
enumPrefixPipelineCompilerControlFlagBitsAMD :: String
enumPrefixPipelineCompilerControlFlagBitsAMD = String
""
showTablePipelineCompilerControlFlagBitsAMD :: [(PipelineCompilerControlFlagBitsAMD, String)]
showTablePipelineCompilerControlFlagBitsAMD :: [(PipelineCompilerControlFlagsAMD, String)]
showTablePipelineCompilerControlFlagBitsAMD = []
instance Show PipelineCompilerControlFlagBitsAMD where
showsPrec :: Int -> PipelineCompilerControlFlagsAMD -> ShowS
showsPrec =
String
-> [(PipelineCompilerControlFlagsAMD, String)]
-> String
-> (PipelineCompilerControlFlagsAMD -> Flags)
-> (Flags -> ShowS)
-> Int
-> PipelineCompilerControlFlagsAMD
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixPipelineCompilerControlFlagBitsAMD
[(PipelineCompilerControlFlagsAMD, 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 => a -> ShowS
showHex Flags
x)
instance Read PipelineCompilerControlFlagBitsAMD where
readPrec :: ReadPrec PipelineCompilerControlFlagsAMD
readPrec =
String
-> [(PipelineCompilerControlFlagsAMD, String)]
-> String
-> (Flags -> PipelineCompilerControlFlagsAMD)
-> ReadPrec PipelineCompilerControlFlagsAMD
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixPipelineCompilerControlFlagBitsAMD
[(PipelineCompilerControlFlagsAMD, String)]
showTablePipelineCompilerControlFlagBitsAMD
String
conNamePipelineCompilerControlFlagBitsAMD
Flags -> PipelineCompilerControlFlagsAMD
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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> r) -> r
AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME = "VK_AMD_pipeline_compiler_control"