{-# language CPP #-}
module Vulkan.Extensions.VK_KHR_display ( getPhysicalDeviceDisplayPropertiesKHR
, getPhysicalDeviceDisplayPlanePropertiesKHR
, getDisplayPlaneSupportedDisplaysKHR
, getDisplayModePropertiesKHR
, createDisplayModeKHR
, getDisplayPlaneCapabilitiesKHR
, createDisplayPlaneSurfaceKHR
, DisplayPropertiesKHR(..)
, DisplayPlanePropertiesKHR(..)
, DisplayModeParametersKHR(..)
, DisplayModePropertiesKHR(..)
, DisplayModeCreateInfoKHR(..)
, DisplayPlaneCapabilitiesKHR(..)
, DisplaySurfaceCreateInfoKHR(..)
, DisplayModeCreateFlagsKHR(..)
, DisplaySurfaceCreateFlagsKHR(..)
, DisplayPlaneAlphaFlagsKHR
, DisplayPlaneAlphaFlagBitsKHR( DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR
, DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR
, DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR
, DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR
, ..
)
, KHR_DISPLAY_SPEC_VERSION
, pattern KHR_DISPLAY_SPEC_VERSION
, KHR_DISPLAY_EXTENSION_NAME
, pattern KHR_DISPLAY_EXTENSION_NAME
, DisplayKHR(..)
, DisplayModeKHR(..)
, SurfaceKHR(..)
, SurfaceTransformFlagBitsKHR(..)
, SurfaceTransformFlagsKHR
) where
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import Vulkan.Internal.Utils (traceAroundEvent)
import Control.Exception.Base (bracket)
import Control.Monad (unless)
import Control.Monad.IO.Class (liftIO)
import Data.Typeable (eqT)
import Foreign.Marshal.Alloc (allocaBytes)
import Foreign.Marshal.Alloc (callocBytes)
import Foreign.Marshal.Alloc (free)
import GHC.Base (when)
import GHC.IO (throwIO)
import GHC.Ptr (castPtr)
import GHC.Ptr (nullFunPtr)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Show (showString)
import Numeric (showHex)
import Data.ByteString (packCString)
import Data.ByteString (useAsCString)
import Data.Coerce (coerce)
import Control.Monad.Trans.Class (lift)
import Control.Monad.Trans.Cont (evalContT)
import Data.Vector (generateM)
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 Control.Monad.IO.Class (MonadIO)
import Data.String (IsString)
import Data.Type.Equality ((:~:)(Refl))
import Data.Typeable (Typeable)
import Foreign.C.Types (CChar)
import Foreign.C.Types (CFloat)
import Foreign.C.Types (CFloat(..))
import Foreign.C.Types (CFloat(CFloat))
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.Generics (Generic)
import GHC.IO.Exception (IOErrorType(..))
import GHC.IO.Exception (IOException(..))
import Foreign.Ptr (FunPtr)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Word (Word32)
import Data.ByteString (ByteString)
import Data.Kind (Type)
import Control.Monad.Trans.Cont (ContT(..))
import Data.Vector (Vector)
import Vulkan.CStruct.Utils (advancePtrBytes)
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.CStruct.Extends (forgetExtensions)
import Vulkan.NamedType ((:::))
import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.CStruct.Extends (Chain)
import Vulkan.Extensions.Handles (DisplayKHR)
import Vulkan.Extensions.Handles (DisplayKHR(..))
import Vulkan.Extensions.Handles (DisplayModeKHR)
import Vulkan.Extensions.Handles (DisplayModeKHR(..))
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_display_stereo (DisplaySurfaceStereoCreateInfoNV)
import Vulkan.CStruct.Extends (Extends)
import Vulkan.CStruct.Extends (Extendss)
import Vulkan.CStruct.Extends (Extensible(..))
import Vulkan.Core10.FundamentalTypes (Extent2D)
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Core10.Handles (Instance)
import Vulkan.Core10.Handles (Instance(..))
import Vulkan.Core10.Handles (Instance(Instance))
import Vulkan.Dynamic (InstanceCmds(pVkCreateDisplayModeKHR))
import Vulkan.Dynamic (InstanceCmds(pVkCreateDisplayPlaneSurfaceKHR))
import Vulkan.Dynamic (InstanceCmds(pVkGetDisplayModePropertiesKHR))
import Vulkan.Dynamic (InstanceCmds(pVkGetDisplayPlaneCapabilitiesKHR))
import Vulkan.Dynamic (InstanceCmds(pVkGetDisplayPlaneSupportedDisplaysKHR))
import Vulkan.Dynamic (InstanceCmds(pVkGetPhysicalDeviceDisplayPlanePropertiesKHR))
import Vulkan.Dynamic (InstanceCmds(pVkGetPhysicalDeviceDisplayPropertiesKHR))
import Vulkan.Core10.Handles (Instance_T)
import Vulkan.Core10.FundamentalTypes (Offset2D)
import Vulkan.CStruct.Extends (PeekChain)
import Vulkan.CStruct.Extends (PeekChain(..))
import Vulkan.Core10.Handles (PhysicalDevice)
import Vulkan.Core10.Handles (PhysicalDevice(..))
import Vulkan.Core10.Handles (PhysicalDevice(PhysicalDevice))
import Vulkan.Core10.Handles (PhysicalDevice_T)
import Vulkan.CStruct.Extends (PokeChain)
import Vulkan.CStruct.Extends (PokeChain(..))
import Vulkan.Core10.Enums.Result (Result)
import Vulkan.Core10.Enums.Result (Result(..))
import Vulkan.CStruct.Extends (SomeStruct)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Extensions.Handles (SurfaceKHR)
import Vulkan.Extensions.Handles (SurfaceKHR(..))
import Vulkan.Extensions.VK_KHR_surface (SurfaceTransformFlagBitsKHR)
import Vulkan.Extensions.VK_KHR_surface (SurfaceTransformFlagsKHR)
import Vulkan.Exception (VulkanException(..))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR))
import Vulkan.Core10.Enums.Result (Result(SUCCESS))
import Vulkan.Extensions.Handles (DisplayKHR(..))
import Vulkan.Extensions.Handles (DisplayModeKHR(..))
import Vulkan.Extensions.Handles (SurfaceKHR(..))
import Vulkan.Extensions.VK_KHR_surface (SurfaceTransformFlagBitsKHR(..))
import Vulkan.Extensions.VK_KHR_surface (SurfaceTransformFlagsKHR)
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetPhysicalDeviceDisplayPropertiesKHR
:: FunPtr (Ptr PhysicalDevice_T -> Ptr Word32 -> Ptr DisplayPropertiesKHR -> IO Result) -> Ptr PhysicalDevice_T -> Ptr Word32 -> Ptr DisplayPropertiesKHR -> IO Result
getPhysicalDeviceDisplayPropertiesKHR :: forall io
. (MonadIO io)
=>
PhysicalDevice
-> io (Result, ("properties" ::: Vector DisplayPropertiesKHR))
getPhysicalDeviceDisplayPropertiesKHR :: forall (io :: * -> *).
MonadIO io =>
PhysicalDevice
-> io (Result, "properties" ::: Vector DisplayPropertiesKHR)
getPhysicalDeviceDisplayPropertiesKHR PhysicalDevice
physicalDevice = IO (Result, "properties" ::: Vector DisplayPropertiesKHR)
-> io (Result, "properties" ::: Vector DisplayPropertiesKHR)
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Result, "properties" ::: Vector DisplayPropertiesKHR)
-> io (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> (ContT
(Result, "properties" ::: Vector DisplayPropertiesKHR)
IO
(Result, "properties" ::: Vector DisplayPropertiesKHR)
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayPropertiesKHR)
IO
(Result, "properties" ::: Vector DisplayPropertiesKHR)
-> io (Result, "properties" ::: Vector DisplayPropertiesKHR)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT
(Result, "properties" ::: Vector DisplayPropertiesKHR)
IO
(Result, "properties" ::: Vector DisplayPropertiesKHR)
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR)
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT
(Result, "properties" ::: Vector DisplayPropertiesKHR)
IO
(Result, "properties" ::: Vector DisplayPropertiesKHR)
-> io (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayPropertiesKHR)
IO
(Result, "properties" ::: Vector DisplayPropertiesKHR)
-> io (Result, "properties" ::: Vector DisplayPropertiesKHR)
forall a b. (a -> b) -> a -> b
$ do
let vkGetPhysicalDeviceDisplayPropertiesKHRPtr :: FunPtr
(Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPropertiesKHR -> IO Result)
vkGetPhysicalDeviceDisplayPropertiesKHRPtr = InstanceCmds
-> FunPtr
(Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPropertiesKHR -> IO Result)
pVkGetPhysicalDeviceDisplayPropertiesKHR (case PhysicalDevice
physicalDevice of PhysicalDevice{InstanceCmds
instanceCmds :: InstanceCmds
instanceCmds :: PhysicalDevice -> InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
IO ()
-> ContT
(Result, "properties" ::: Vector DisplayPropertiesKHR) IO ()
forall (m :: * -> *) a.
Monad m =>
m a
-> ContT (Result, "properties" ::: Vector DisplayPropertiesKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO ()
-> ContT
(Result, "properties" ::: Vector DisplayPropertiesKHR) IO ())
-> IO ()
-> ContT
(Result, "properties" ::: Vector DisplayPropertiesKHR) IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPropertiesKHR -> IO Result)
vkGetPhysicalDeviceDisplayPropertiesKHRPtr FunPtr
(Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPropertiesKHR -> IO Result)
-> FunPtr
(Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPropertiesKHR -> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPropertiesKHR -> IO Result)
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. (HasCallStack, Exception e) => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkGetPhysicalDeviceDisplayPropertiesKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkGetPhysicalDeviceDisplayPropertiesKHR' :: Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPropertiesKHR -> IO Result
vkGetPhysicalDeviceDisplayPropertiesKHR' = FunPtr
(Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPropertiesKHR -> IO Result)
-> Ptr PhysicalDevice_T
-> Ptr Word32
-> Ptr DisplayPropertiesKHR
-> IO Result
mkVkGetPhysicalDeviceDisplayPropertiesKHR FunPtr
(Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPropertiesKHR -> IO Result)
vkGetPhysicalDeviceDisplayPropertiesKHRPtr
let physicalDevice' :: Ptr PhysicalDevice_T
physicalDevice' = PhysicalDevice -> Ptr PhysicalDevice_T
physicalDeviceHandle (PhysicalDevice
physicalDevice)
pPPropertyCount <- ((Ptr Word32
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayPropertiesKHR)
IO
(Ptr Word32)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr Word32
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayPropertiesKHR)
IO
(Ptr Word32))
-> ((Ptr Word32
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayPropertiesKHR)
IO
(Ptr Word32)
forall a b. (a -> b) -> a -> b
$ IO (Ptr Word32)
-> (Ptr Word32 -> IO ())
-> (Ptr Word32
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR)
forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket (forall a. Int -> IO (Ptr a)
callocBytes @Word32 Int
4) Ptr Word32 -> IO ()
forall a. Ptr a -> IO ()
free
r <- lift $ traceAroundEvent "vkGetPhysicalDeviceDisplayPropertiesKHR" (vkGetPhysicalDeviceDisplayPropertiesKHR'
physicalDevice'
(pPPropertyCount)
(nullPtr))
lift $ when (r < SUCCESS) (throwIO (VulkanException r))
pPropertyCount <- lift $ peek @Word32 pPPropertyCount
pPProperties <- ContT $ bracket (callocBytes @DisplayPropertiesKHR ((fromIntegral (pPropertyCount)) * 48)) free
_ <- traverse (\Int
i -> ((() -> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayPropertiesKHR) IO ()
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayPropertiesKHR) IO ())
-> ((()
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayPropertiesKHR) IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DisplayPropertiesKHR
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR)
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR)
forall b. Ptr DisplayPropertiesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> IO b -> IO b
pokeZeroCStruct (Ptr DisplayPropertiesKHR
pPProperties Ptr DisplayPropertiesKHR -> Int -> Ptr DisplayPropertiesKHR
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
i Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
48) :: Ptr DisplayPropertiesKHR) (IO (Result, "properties" ::: Vector DisplayPropertiesKHR)
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> ((()
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> (()
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPropertiesKHR)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO (Result, "properties" ::: Vector DisplayPropertiesKHR))
-> () -> IO (Result, "properties" ::: Vector DisplayPropertiesKHR)
forall a b. (a -> b) -> a -> b
$ ())) [0..(fromIntegral (pPropertyCount)) - 1]
r' <- lift $ traceAroundEvent "vkGetPhysicalDeviceDisplayPropertiesKHR" (vkGetPhysicalDeviceDisplayPropertiesKHR'
physicalDevice'
(pPPropertyCount)
((pPProperties)))
lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))
pPropertyCount' <- lift $ peek @Word32 pPPropertyCount
pProperties' <- lift $ generateM (fromIntegral (pPropertyCount')) (\Int
i -> forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @DisplayPropertiesKHR (((Ptr DisplayPropertiesKHR
pPProperties) Ptr DisplayPropertiesKHR -> Int -> Ptr DisplayPropertiesKHR
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
48 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DisplayPropertiesKHR)))
pure $ ((r'), pProperties')
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetPhysicalDeviceDisplayPlanePropertiesKHR
:: FunPtr (Ptr PhysicalDevice_T -> Ptr Word32 -> Ptr DisplayPlanePropertiesKHR -> IO Result) -> Ptr PhysicalDevice_T -> Ptr Word32 -> Ptr DisplayPlanePropertiesKHR -> IO Result
getPhysicalDeviceDisplayPlanePropertiesKHR :: forall io
. (MonadIO io)
=>
PhysicalDevice
-> io (Result, ("properties" ::: Vector DisplayPlanePropertiesKHR))
getPhysicalDeviceDisplayPlanePropertiesKHR :: forall (io :: * -> *).
MonadIO io =>
PhysicalDevice
-> io (Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
getPhysicalDeviceDisplayPlanePropertiesKHR PhysicalDevice
physicalDevice = IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
-> io (Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
-> io (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> (ContT
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
IO
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
IO
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
-> io (Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
IO
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
IO
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
-> io (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
IO
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
-> io (Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
forall a b. (a -> b) -> a -> b
$ do
let vkGetPhysicalDeviceDisplayPlanePropertiesKHRPtr :: FunPtr
(Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPlanePropertiesKHR -> IO Result)
vkGetPhysicalDeviceDisplayPlanePropertiesKHRPtr = InstanceCmds
-> FunPtr
(Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPlanePropertiesKHR -> IO Result)
pVkGetPhysicalDeviceDisplayPlanePropertiesKHR (case PhysicalDevice
physicalDevice of PhysicalDevice{InstanceCmds
instanceCmds :: PhysicalDevice -> InstanceCmds
instanceCmds :: InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
IO ()
-> ContT
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR) IO ()
forall (m :: * -> *) a.
Monad m =>
m a
-> ContT
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO ()
-> ContT
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR) IO ())
-> IO ()
-> ContT
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR) IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPlanePropertiesKHR -> IO Result)
vkGetPhysicalDeviceDisplayPlanePropertiesKHRPtr FunPtr
(Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPlanePropertiesKHR -> IO Result)
-> FunPtr
(Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPlanePropertiesKHR -> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPlanePropertiesKHR -> IO Result)
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. (HasCallStack, Exception e) => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkGetPhysicalDeviceDisplayPlanePropertiesKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkGetPhysicalDeviceDisplayPlanePropertiesKHR' :: Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPlanePropertiesKHR -> IO Result
vkGetPhysicalDeviceDisplayPlanePropertiesKHR' = FunPtr
(Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPlanePropertiesKHR -> IO Result)
-> Ptr PhysicalDevice_T
-> Ptr Word32
-> Ptr DisplayPlanePropertiesKHR
-> IO Result
mkVkGetPhysicalDeviceDisplayPlanePropertiesKHR FunPtr
(Ptr PhysicalDevice_T
-> Ptr Word32 -> Ptr DisplayPlanePropertiesKHR -> IO Result)
vkGetPhysicalDeviceDisplayPlanePropertiesKHRPtr
let physicalDevice' :: Ptr PhysicalDevice_T
physicalDevice' = PhysicalDevice -> Ptr PhysicalDevice_T
physicalDeviceHandle (PhysicalDevice
physicalDevice)
pPPropertyCount <- ((Ptr Word32
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
IO
(Ptr Word32)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr Word32
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
IO
(Ptr Word32))
-> ((Ptr Word32
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
IO
(Ptr Word32)
forall a b. (a -> b) -> a -> b
$ IO (Ptr Word32)
-> (Ptr Word32 -> IO ())
-> (Ptr Word32
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket (forall a. Int -> IO (Ptr a)
callocBytes @Word32 Int
4) Ptr Word32 -> IO ()
forall a. Ptr a -> IO ()
free
r <- lift $ traceAroundEvent "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" (vkGetPhysicalDeviceDisplayPlanePropertiesKHR'
physicalDevice'
(pPPropertyCount)
(nullPtr))
lift $ when (r < SUCCESS) (throwIO (VulkanException r))
pPropertyCount <- lift $ peek @Word32 pPPropertyCount
pPProperties <- ContT $ bracket (callocBytes @DisplayPlanePropertiesKHR ((fromIntegral (pPropertyCount)) * 16)) free
_ <- traverse (\Int
i -> ((()
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR) IO ()
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((()
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR) IO ())
-> ((()
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayPlanePropertiesKHR) IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DisplayPlanePropertiesKHR
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
forall b. Ptr DisplayPlanePropertiesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> IO b -> IO b
pokeZeroCStruct (Ptr DisplayPlanePropertiesKHR
pPProperties Ptr DisplayPlanePropertiesKHR
-> Int -> Ptr DisplayPlanePropertiesKHR
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
i Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
16) :: Ptr DisplayPlanePropertiesKHR) (IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> ((()
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> (()
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((()
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR))
-> ()
-> IO (Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
forall a b. (a -> b) -> a -> b
$ ())) [0..(fromIntegral (pPropertyCount)) - 1]
r' <- lift $ traceAroundEvent "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" (vkGetPhysicalDeviceDisplayPlanePropertiesKHR'
physicalDevice'
(pPPropertyCount)
((pPProperties)))
lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))
pPropertyCount' <- lift $ peek @Word32 pPPropertyCount
pProperties' <- lift $ generateM (fromIntegral (pPropertyCount')) (\Int
i -> forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @DisplayPlanePropertiesKHR (((Ptr DisplayPlanePropertiesKHR
pPProperties) Ptr DisplayPlanePropertiesKHR
-> Int -> Ptr DisplayPlanePropertiesKHR
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
16 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DisplayPlanePropertiesKHR)))
pure $ ((r'), pProperties')
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetDisplayPlaneSupportedDisplaysKHR
:: FunPtr (Ptr PhysicalDevice_T -> Word32 -> Ptr Word32 -> Ptr DisplayKHR -> IO Result) -> Ptr PhysicalDevice_T -> Word32 -> Ptr Word32 -> Ptr DisplayKHR -> IO Result
getDisplayPlaneSupportedDisplaysKHR :: forall io
. (MonadIO io)
=>
PhysicalDevice
->
("planeIndex" ::: Word32)
-> io (Result, ("displays" ::: Vector DisplayKHR))
getDisplayPlaneSupportedDisplaysKHR :: forall (io :: * -> *).
MonadIO io =>
PhysicalDevice
-> Word32 -> io (Result, "displays" ::: Vector DisplayKHR)
getDisplayPlaneSupportedDisplaysKHR PhysicalDevice
physicalDevice
Word32
planeIndex = IO (Result, "displays" ::: Vector DisplayKHR)
-> io (Result, "displays" ::: Vector DisplayKHR)
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Result, "displays" ::: Vector DisplayKHR)
-> io (Result, "displays" ::: Vector DisplayKHR))
-> (ContT
(Result, "displays" ::: Vector DisplayKHR)
IO
(Result, "displays" ::: Vector DisplayKHR)
-> IO (Result, "displays" ::: Vector DisplayKHR))
-> ContT
(Result, "displays" ::: Vector DisplayKHR)
IO
(Result, "displays" ::: Vector DisplayKHR)
-> io (Result, "displays" ::: Vector DisplayKHR)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT
(Result, "displays" ::: Vector DisplayKHR)
IO
(Result, "displays" ::: Vector DisplayKHR)
-> IO (Result, "displays" ::: Vector DisplayKHR)
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT
(Result, "displays" ::: Vector DisplayKHR)
IO
(Result, "displays" ::: Vector DisplayKHR)
-> io (Result, "displays" ::: Vector DisplayKHR))
-> ContT
(Result, "displays" ::: Vector DisplayKHR)
IO
(Result, "displays" ::: Vector DisplayKHR)
-> io (Result, "displays" ::: Vector DisplayKHR)
forall a b. (a -> b) -> a -> b
$ do
let vkGetDisplayPlaneSupportedDisplaysKHRPtr :: FunPtr
(Ptr PhysicalDevice_T
-> Word32 -> Ptr Word32 -> Ptr DisplayKHR -> IO Result)
vkGetDisplayPlaneSupportedDisplaysKHRPtr = InstanceCmds
-> FunPtr
(Ptr PhysicalDevice_T
-> Word32 -> Ptr Word32 -> Ptr DisplayKHR -> IO Result)
pVkGetDisplayPlaneSupportedDisplaysKHR (case PhysicalDevice
physicalDevice of PhysicalDevice{InstanceCmds
instanceCmds :: PhysicalDevice -> InstanceCmds
instanceCmds :: InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
IO () -> ContT (Result, "displays" ::: Vector DisplayKHR) IO ()
forall (m :: * -> *) a.
Monad m =>
m a -> ContT (Result, "displays" ::: Vector DisplayKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT (Result, "displays" ::: Vector DisplayKHR) IO ())
-> IO () -> ContT (Result, "displays" ::: Vector DisplayKHR) IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr PhysicalDevice_T
-> Word32 -> Ptr Word32 -> Ptr DisplayKHR -> IO Result)
vkGetDisplayPlaneSupportedDisplaysKHRPtr FunPtr
(Ptr PhysicalDevice_T
-> Word32 -> Ptr Word32 -> Ptr DisplayKHR -> IO Result)
-> FunPtr
(Ptr PhysicalDevice_T
-> Word32 -> Ptr Word32 -> Ptr DisplayKHR -> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr PhysicalDevice_T
-> Word32 -> Ptr Word32 -> Ptr DisplayKHR -> IO Result)
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. (HasCallStack, Exception e) => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkGetDisplayPlaneSupportedDisplaysKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkGetDisplayPlaneSupportedDisplaysKHR' :: Ptr PhysicalDevice_T
-> Word32 -> Ptr Word32 -> Ptr DisplayKHR -> IO Result
vkGetDisplayPlaneSupportedDisplaysKHR' = FunPtr
(Ptr PhysicalDevice_T
-> Word32 -> Ptr Word32 -> Ptr DisplayKHR -> IO Result)
-> Ptr PhysicalDevice_T
-> Word32
-> Ptr Word32
-> Ptr DisplayKHR
-> IO Result
mkVkGetDisplayPlaneSupportedDisplaysKHR FunPtr
(Ptr PhysicalDevice_T
-> Word32 -> Ptr Word32 -> Ptr DisplayKHR -> IO Result)
vkGetDisplayPlaneSupportedDisplaysKHRPtr
let physicalDevice' :: Ptr PhysicalDevice_T
physicalDevice' = PhysicalDevice -> Ptr PhysicalDevice_T
physicalDeviceHandle (PhysicalDevice
physicalDevice)
pPDisplayCount <- ((Ptr Word32 -> IO (Result, "displays" ::: Vector DisplayKHR))
-> IO (Result, "displays" ::: Vector DisplayKHR))
-> ContT (Result, "displays" ::: Vector DisplayKHR) IO (Ptr Word32)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr Word32 -> IO (Result, "displays" ::: Vector DisplayKHR))
-> IO (Result, "displays" ::: Vector DisplayKHR))
-> ContT
(Result, "displays" ::: Vector DisplayKHR) IO (Ptr Word32))
-> ((Ptr Word32 -> IO (Result, "displays" ::: Vector DisplayKHR))
-> IO (Result, "displays" ::: Vector DisplayKHR))
-> ContT (Result, "displays" ::: Vector DisplayKHR) IO (Ptr Word32)
forall a b. (a -> b) -> a -> b
$ IO (Ptr Word32)
-> (Ptr Word32 -> IO ())
-> (Ptr Word32 -> IO (Result, "displays" ::: Vector DisplayKHR))
-> IO (Result, "displays" ::: Vector DisplayKHR)
forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket (forall a. Int -> IO (Ptr a)
callocBytes @Word32 Int
4) Ptr Word32 -> IO ()
forall a. Ptr a -> IO ()
free
r <- lift $ traceAroundEvent "vkGetDisplayPlaneSupportedDisplaysKHR" (vkGetDisplayPlaneSupportedDisplaysKHR'
physicalDevice'
(planeIndex)
(pPDisplayCount)
(nullPtr))
lift $ when (r < SUCCESS) (throwIO (VulkanException r))
pDisplayCount <- lift $ peek @Word32 pPDisplayCount
pPDisplays <- ContT $ bracket (callocBytes @DisplayKHR ((fromIntegral (pDisplayCount)) * 8)) free
r' <- lift $ traceAroundEvent "vkGetDisplayPlaneSupportedDisplaysKHR" (vkGetDisplayPlaneSupportedDisplaysKHR'
physicalDevice'
(planeIndex)
(pPDisplayCount)
(pPDisplays))
lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))
pDisplayCount' <- lift $ peek @Word32 pPDisplayCount
pDisplays' <- lift $ generateM (fromIntegral (pDisplayCount')) (\Int
i -> forall a. Storable a => Ptr a -> IO a
peek @DisplayKHR ((Ptr DisplayKHR
pPDisplays Ptr DisplayKHR -> Int -> Ptr DisplayKHR
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
8 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DisplayKHR)))
pure $ ((r'), pDisplays')
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetDisplayModePropertiesKHR
:: FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> Ptr Word32 -> Ptr DisplayModePropertiesKHR -> IO Result) -> Ptr PhysicalDevice_T -> DisplayKHR -> Ptr Word32 -> Ptr DisplayModePropertiesKHR -> IO Result
getDisplayModePropertiesKHR :: forall io
. (MonadIO io)
=>
PhysicalDevice
->
DisplayKHR
-> io (Result, ("properties" ::: Vector DisplayModePropertiesKHR))
getDisplayModePropertiesKHR :: forall (io :: * -> *).
MonadIO io =>
PhysicalDevice
-> DisplayKHR
-> io (Result, "properties" ::: Vector DisplayModePropertiesKHR)
getDisplayModePropertiesKHR PhysicalDevice
physicalDevice DisplayKHR
display = IO (Result, "properties" ::: Vector DisplayModePropertiesKHR)
-> io (Result, "properties" ::: Vector DisplayModePropertiesKHR)
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Result, "properties" ::: Vector DisplayModePropertiesKHR)
-> io (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> (ContT
(Result, "properties" ::: Vector DisplayModePropertiesKHR)
IO
(Result, "properties" ::: Vector DisplayModePropertiesKHR)
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayModePropertiesKHR)
IO
(Result, "properties" ::: Vector DisplayModePropertiesKHR)
-> io (Result, "properties" ::: Vector DisplayModePropertiesKHR)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT
(Result, "properties" ::: Vector DisplayModePropertiesKHR)
IO
(Result, "properties" ::: Vector DisplayModePropertiesKHR)
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR)
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT
(Result, "properties" ::: Vector DisplayModePropertiesKHR)
IO
(Result, "properties" ::: Vector DisplayModePropertiesKHR)
-> io (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayModePropertiesKHR)
IO
(Result, "properties" ::: Vector DisplayModePropertiesKHR)
-> io (Result, "properties" ::: Vector DisplayModePropertiesKHR)
forall a b. (a -> b) -> a -> b
$ do
let vkGetDisplayModePropertiesKHRPtr :: FunPtr
(Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr Word32
-> Ptr DisplayModePropertiesKHR
-> IO Result)
vkGetDisplayModePropertiesKHRPtr = InstanceCmds
-> FunPtr
(Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr Word32
-> Ptr DisplayModePropertiesKHR
-> IO Result)
pVkGetDisplayModePropertiesKHR (case PhysicalDevice
physicalDevice of PhysicalDevice{InstanceCmds
instanceCmds :: PhysicalDevice -> InstanceCmds
instanceCmds :: InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
IO ()
-> ContT
(Result, "properties" ::: Vector DisplayModePropertiesKHR) IO ()
forall (m :: * -> *) a.
Monad m =>
m a
-> ContT
(Result, "properties" ::: Vector DisplayModePropertiesKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO ()
-> ContT
(Result, "properties" ::: Vector DisplayModePropertiesKHR) IO ())
-> IO ()
-> ContT
(Result, "properties" ::: Vector DisplayModePropertiesKHR) IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr Word32
-> Ptr DisplayModePropertiesKHR
-> IO Result)
vkGetDisplayModePropertiesKHRPtr FunPtr
(Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr Word32
-> Ptr DisplayModePropertiesKHR
-> IO Result)
-> FunPtr
(Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr Word32
-> Ptr DisplayModePropertiesKHR
-> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr Word32
-> Ptr DisplayModePropertiesKHR
-> IO Result)
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. (HasCallStack, Exception e) => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkGetDisplayModePropertiesKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkGetDisplayModePropertiesKHR' :: Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr Word32
-> Ptr DisplayModePropertiesKHR
-> IO Result
vkGetDisplayModePropertiesKHR' = FunPtr
(Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr Word32
-> Ptr DisplayModePropertiesKHR
-> IO Result)
-> Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr Word32
-> Ptr DisplayModePropertiesKHR
-> IO Result
mkVkGetDisplayModePropertiesKHR FunPtr
(Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr Word32
-> Ptr DisplayModePropertiesKHR
-> IO Result)
vkGetDisplayModePropertiesKHRPtr
let physicalDevice' :: Ptr PhysicalDevice_T
physicalDevice' = PhysicalDevice -> Ptr PhysicalDevice_T
physicalDeviceHandle (PhysicalDevice
physicalDevice)
pPPropertyCount <- ((Ptr Word32
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayModePropertiesKHR)
IO
(Ptr Word32)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr Word32
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayModePropertiesKHR)
IO
(Ptr Word32))
-> ((Ptr Word32
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayModePropertiesKHR)
IO
(Ptr Word32)
forall a b. (a -> b) -> a -> b
$ IO (Ptr Word32)
-> (Ptr Word32 -> IO ())
-> (Ptr Word32
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR)
forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket (forall a. Int -> IO (Ptr a)
callocBytes @Word32 Int
4) Ptr Word32 -> IO ()
forall a. Ptr a -> IO ()
free
r <- lift $ traceAroundEvent "vkGetDisplayModePropertiesKHR" (vkGetDisplayModePropertiesKHR'
physicalDevice'
(display)
(pPPropertyCount)
(nullPtr))
lift $ when (r < SUCCESS) (throwIO (VulkanException r))
pPropertyCount <- lift $ peek @Word32 pPPropertyCount
pPProperties <- ContT $ bracket (callocBytes @DisplayModePropertiesKHR ((fromIntegral (pPropertyCount)) * 24)) free
_ <- traverse (\Int
i -> ((()
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayModePropertiesKHR) IO ()
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((()
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayModePropertiesKHR) IO ())
-> ((()
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> ContT
(Result, "properties" ::: Vector DisplayModePropertiesKHR) IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DisplayModePropertiesKHR
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR)
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR)
forall b. Ptr DisplayModePropertiesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> IO b -> IO b
pokeZeroCStruct (Ptr DisplayModePropertiesKHR
pPProperties Ptr DisplayModePropertiesKHR -> Int -> Ptr DisplayModePropertiesKHR
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
i Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
24) :: Ptr DisplayModePropertiesKHR) (IO (Result, "properties" ::: Vector DisplayModePropertiesKHR)
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> ((()
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> (()
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((()
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR))
-> ()
-> IO (Result, "properties" ::: Vector DisplayModePropertiesKHR)
forall a b. (a -> b) -> a -> b
$ ())) [0..(fromIntegral (pPropertyCount)) - 1]
r' <- lift $ traceAroundEvent "vkGetDisplayModePropertiesKHR" (vkGetDisplayModePropertiesKHR'
physicalDevice'
(display)
(pPPropertyCount)
((pPProperties)))
lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))
pPropertyCount' <- lift $ peek @Word32 pPPropertyCount
pProperties' <- lift $ generateM (fromIntegral (pPropertyCount')) (\Int
i -> forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @DisplayModePropertiesKHR (((Ptr DisplayModePropertiesKHR
pPProperties) Ptr DisplayModePropertiesKHR -> Int -> Ptr DisplayModePropertiesKHR
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
24 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DisplayModePropertiesKHR)))
pure $ ((r'), pProperties')
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCreateDisplayModeKHR
:: FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> Ptr DisplayModeCreateInfoKHR -> Ptr AllocationCallbacks -> Ptr DisplayModeKHR -> IO Result) -> Ptr PhysicalDevice_T -> DisplayKHR -> Ptr DisplayModeCreateInfoKHR -> Ptr AllocationCallbacks -> Ptr DisplayModeKHR -> IO Result
createDisplayModeKHR :: forall io
. (MonadIO io)
=>
PhysicalDevice
->
DisplayKHR
->
DisplayModeCreateInfoKHR
->
("allocator" ::: Maybe AllocationCallbacks)
-> io (DisplayModeKHR)
createDisplayModeKHR :: forall (io :: * -> *).
MonadIO io =>
PhysicalDevice
-> DisplayKHR
-> DisplayModeCreateInfoKHR
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io DisplayModeKHR
createDisplayModeKHR PhysicalDevice
physicalDevice
DisplayKHR
display
DisplayModeCreateInfoKHR
createInfo
"allocator" ::: Maybe AllocationCallbacks
allocator = IO DisplayModeKHR -> io DisplayModeKHR
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DisplayModeKHR -> io DisplayModeKHR)
-> (ContT DisplayModeKHR IO DisplayModeKHR -> IO DisplayModeKHR)
-> ContT DisplayModeKHR IO DisplayModeKHR
-> io DisplayModeKHR
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT DisplayModeKHR IO DisplayModeKHR -> IO DisplayModeKHR
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT DisplayModeKHR IO DisplayModeKHR -> io DisplayModeKHR)
-> ContT DisplayModeKHR IO DisplayModeKHR -> io DisplayModeKHR
forall a b. (a -> b) -> a -> b
$ do
let vkCreateDisplayModeKHRPtr :: FunPtr
(Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr DisplayModeCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr DisplayModeKHR
-> IO Result)
vkCreateDisplayModeKHRPtr = InstanceCmds
-> FunPtr
(Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr DisplayModeCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr DisplayModeKHR
-> IO Result)
pVkCreateDisplayModeKHR (case PhysicalDevice
physicalDevice of PhysicalDevice{InstanceCmds
instanceCmds :: PhysicalDevice -> InstanceCmds
instanceCmds :: InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
IO () -> ContT DisplayModeKHR IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT DisplayModeKHR m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT DisplayModeKHR IO ())
-> IO () -> ContT DisplayModeKHR IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr DisplayModeCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr DisplayModeKHR
-> IO Result)
vkCreateDisplayModeKHRPtr FunPtr
(Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr DisplayModeCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr DisplayModeKHR
-> IO Result)
-> FunPtr
(Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr DisplayModeCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr DisplayModeKHR
-> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr DisplayModeCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr DisplayModeKHR
-> IO Result)
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. (HasCallStack, Exception e) => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCreateDisplayModeKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCreateDisplayModeKHR' :: Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr DisplayModeCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr DisplayModeKHR
-> IO Result
vkCreateDisplayModeKHR' = FunPtr
(Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr DisplayModeCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr DisplayModeKHR
-> IO Result)
-> Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr DisplayModeCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr DisplayModeKHR
-> IO Result
mkVkCreateDisplayModeKHR FunPtr
(Ptr PhysicalDevice_T
-> DisplayKHR
-> Ptr DisplayModeCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr DisplayModeKHR
-> IO Result)
vkCreateDisplayModeKHRPtr
pCreateInfo <- ((Ptr DisplayModeCreateInfoKHR -> IO DisplayModeKHR)
-> IO DisplayModeKHR)
-> ContT DisplayModeKHR IO (Ptr DisplayModeCreateInfoKHR)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr DisplayModeCreateInfoKHR -> IO DisplayModeKHR)
-> IO DisplayModeKHR)
-> ContT DisplayModeKHR IO (Ptr DisplayModeCreateInfoKHR))
-> ((Ptr DisplayModeCreateInfoKHR -> IO DisplayModeKHR)
-> IO DisplayModeKHR)
-> ContT DisplayModeKHR IO (Ptr DisplayModeCreateInfoKHR)
forall a b. (a -> b) -> a -> b
$ DisplayModeCreateInfoKHR
-> (Ptr DisplayModeCreateInfoKHR -> IO DisplayModeKHR)
-> IO DisplayModeKHR
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
forall b.
DisplayModeCreateInfoKHR
-> (Ptr DisplayModeCreateInfoKHR -> IO b) -> IO b
withCStruct (DisplayModeCreateInfoKHR
createInfo)
pAllocator <- case (allocator) of
"allocator" ::: Maybe AllocationCallbacks
Nothing -> Ptr AllocationCallbacks
-> ContT DisplayModeKHR IO (Ptr AllocationCallbacks)
forall a. a -> ContT DisplayModeKHR IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure Ptr AllocationCallbacks
forall a. Ptr a
nullPtr
Just AllocationCallbacks
j -> ((Ptr AllocationCallbacks -> IO DisplayModeKHR)
-> IO DisplayModeKHR)
-> ContT DisplayModeKHR IO (Ptr AllocationCallbacks)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr AllocationCallbacks -> IO DisplayModeKHR)
-> IO DisplayModeKHR)
-> ContT DisplayModeKHR IO (Ptr AllocationCallbacks))
-> ((Ptr AllocationCallbacks -> IO DisplayModeKHR)
-> IO DisplayModeKHR)
-> ContT DisplayModeKHR IO (Ptr AllocationCallbacks)
forall a b. (a -> b) -> a -> b
$ AllocationCallbacks
-> (Ptr AllocationCallbacks -> IO DisplayModeKHR)
-> IO DisplayModeKHR
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
forall b.
AllocationCallbacks -> (Ptr AllocationCallbacks -> IO b) -> IO b
withCStruct (AllocationCallbacks
j)
pPMode <- ContT $ bracket (callocBytes @DisplayModeKHR 8) free
r <- lift $ traceAroundEvent "vkCreateDisplayModeKHR" (vkCreateDisplayModeKHR'
(physicalDeviceHandle (physicalDevice))
(display)
pCreateInfo
pAllocator
(pPMode))
lift $ when (r < SUCCESS) (throwIO (VulkanException r))
pMode <- lift $ peek @DisplayModeKHR pPMode
pure $ (pMode)
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetDisplayPlaneCapabilitiesKHR
:: FunPtr (Ptr PhysicalDevice_T -> DisplayModeKHR -> Word32 -> Ptr DisplayPlaneCapabilitiesKHR -> IO Result) -> Ptr PhysicalDevice_T -> DisplayModeKHR -> Word32 -> Ptr DisplayPlaneCapabilitiesKHR -> IO Result
getDisplayPlaneCapabilitiesKHR :: forall io
. (MonadIO io)
=>
PhysicalDevice
->
DisplayModeKHR
->
("planeIndex" ::: Word32)
-> io (DisplayPlaneCapabilitiesKHR)
getDisplayPlaneCapabilitiesKHR :: forall (io :: * -> *).
MonadIO io =>
PhysicalDevice
-> DisplayModeKHR -> Word32 -> io DisplayPlaneCapabilitiesKHR
getDisplayPlaneCapabilitiesKHR PhysicalDevice
physicalDevice
DisplayModeKHR
mode
Word32
planeIndex = IO DisplayPlaneCapabilitiesKHR -> io DisplayPlaneCapabilitiesKHR
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DisplayPlaneCapabilitiesKHR -> io DisplayPlaneCapabilitiesKHR)
-> (ContT
DisplayPlaneCapabilitiesKHR IO DisplayPlaneCapabilitiesKHR
-> IO DisplayPlaneCapabilitiesKHR)
-> ContT DisplayPlaneCapabilitiesKHR IO DisplayPlaneCapabilitiesKHR
-> io DisplayPlaneCapabilitiesKHR
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT DisplayPlaneCapabilitiesKHR IO DisplayPlaneCapabilitiesKHR
-> IO DisplayPlaneCapabilitiesKHR
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT DisplayPlaneCapabilitiesKHR IO DisplayPlaneCapabilitiesKHR
-> io DisplayPlaneCapabilitiesKHR)
-> ContT DisplayPlaneCapabilitiesKHR IO DisplayPlaneCapabilitiesKHR
-> io DisplayPlaneCapabilitiesKHR
forall a b. (a -> b) -> a -> b
$ do
let vkGetDisplayPlaneCapabilitiesKHRPtr :: FunPtr
(Ptr PhysicalDevice_T
-> DisplayModeKHR
-> Word32
-> Ptr DisplayPlaneCapabilitiesKHR
-> IO Result)
vkGetDisplayPlaneCapabilitiesKHRPtr = InstanceCmds
-> FunPtr
(Ptr PhysicalDevice_T
-> DisplayModeKHR
-> Word32
-> Ptr DisplayPlaneCapabilitiesKHR
-> IO Result)
pVkGetDisplayPlaneCapabilitiesKHR (case PhysicalDevice
physicalDevice of PhysicalDevice{InstanceCmds
instanceCmds :: PhysicalDevice -> InstanceCmds
instanceCmds :: InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
IO () -> ContT DisplayPlaneCapabilitiesKHR IO ()
forall (m :: * -> *) a.
Monad m =>
m a -> ContT DisplayPlaneCapabilitiesKHR m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT DisplayPlaneCapabilitiesKHR IO ())
-> IO () -> ContT DisplayPlaneCapabilitiesKHR IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr PhysicalDevice_T
-> DisplayModeKHR
-> Word32
-> Ptr DisplayPlaneCapabilitiesKHR
-> IO Result)
vkGetDisplayPlaneCapabilitiesKHRPtr FunPtr
(Ptr PhysicalDevice_T
-> DisplayModeKHR
-> Word32
-> Ptr DisplayPlaneCapabilitiesKHR
-> IO Result)
-> FunPtr
(Ptr PhysicalDevice_T
-> DisplayModeKHR
-> Word32
-> Ptr DisplayPlaneCapabilitiesKHR
-> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr PhysicalDevice_T
-> DisplayModeKHR
-> Word32
-> Ptr DisplayPlaneCapabilitiesKHR
-> IO Result)
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. (HasCallStack, Exception e) => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkGetDisplayPlaneCapabilitiesKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkGetDisplayPlaneCapabilitiesKHR' :: Ptr PhysicalDevice_T
-> DisplayModeKHR
-> Word32
-> Ptr DisplayPlaneCapabilitiesKHR
-> IO Result
vkGetDisplayPlaneCapabilitiesKHR' = FunPtr
(Ptr PhysicalDevice_T
-> DisplayModeKHR
-> Word32
-> Ptr DisplayPlaneCapabilitiesKHR
-> IO Result)
-> Ptr PhysicalDevice_T
-> DisplayModeKHR
-> Word32
-> Ptr DisplayPlaneCapabilitiesKHR
-> IO Result
mkVkGetDisplayPlaneCapabilitiesKHR FunPtr
(Ptr PhysicalDevice_T
-> DisplayModeKHR
-> Word32
-> Ptr DisplayPlaneCapabilitiesKHR
-> IO Result)
vkGetDisplayPlaneCapabilitiesKHRPtr
pPCapabilities <- ((Ptr DisplayPlaneCapabilitiesKHR
-> IO DisplayPlaneCapabilitiesKHR)
-> IO DisplayPlaneCapabilitiesKHR)
-> ContT
DisplayPlaneCapabilitiesKHR IO (Ptr DisplayPlaneCapabilitiesKHR)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (forall a b. ToCStruct a => (Ptr a -> IO b) -> IO b
withZeroCStruct @DisplayPlaneCapabilitiesKHR)
r <- lift $ traceAroundEvent "vkGetDisplayPlaneCapabilitiesKHR" (vkGetDisplayPlaneCapabilitiesKHR'
(physicalDeviceHandle (physicalDevice))
(mode)
(planeIndex)
(pPCapabilities))
lift $ when (r < SUCCESS) (throwIO (VulkanException r))
pCapabilities <- lift $ peekCStruct @DisplayPlaneCapabilitiesKHR pPCapabilities
pure $ (pCapabilities)
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCreateDisplayPlaneSurfaceKHR
:: FunPtr (Ptr Instance_T -> Ptr (SomeStruct DisplaySurfaceCreateInfoKHR) -> Ptr AllocationCallbacks -> Ptr SurfaceKHR -> IO Result) -> Ptr Instance_T -> Ptr (SomeStruct DisplaySurfaceCreateInfoKHR) -> Ptr AllocationCallbacks -> Ptr SurfaceKHR -> IO Result
createDisplayPlaneSurfaceKHR :: forall a io
. ( Extendss DisplaySurfaceCreateInfoKHR a
, PokeChain a
, MonadIO io )
=>
Instance
->
(DisplaySurfaceCreateInfoKHR a)
->
("allocator" ::: Maybe AllocationCallbacks)
-> io (SurfaceKHR)
createDisplayPlaneSurfaceKHR :: forall (a :: [*]) (io :: * -> *).
(Extendss DisplaySurfaceCreateInfoKHR a, PokeChain a,
MonadIO io) =>
Instance
-> DisplaySurfaceCreateInfoKHR a
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io SurfaceKHR
createDisplayPlaneSurfaceKHR Instance
instance'
DisplaySurfaceCreateInfoKHR a
createInfo
"allocator" ::: Maybe AllocationCallbacks
allocator = IO SurfaceKHR -> io SurfaceKHR
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SurfaceKHR -> io SurfaceKHR)
-> (ContT SurfaceKHR IO SurfaceKHR -> IO SurfaceKHR)
-> ContT SurfaceKHR IO SurfaceKHR
-> io SurfaceKHR
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT SurfaceKHR IO SurfaceKHR -> IO SurfaceKHR
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT SurfaceKHR IO SurfaceKHR -> io SurfaceKHR)
-> ContT SurfaceKHR IO SurfaceKHR -> io SurfaceKHR
forall a b. (a -> b) -> a -> b
$ do
let vkCreateDisplayPlaneSurfaceKHRPtr :: FunPtr
(Ptr Instance_T
-> Ptr (SomeStruct DisplaySurfaceCreateInfoKHR)
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result)
vkCreateDisplayPlaneSurfaceKHRPtr = InstanceCmds
-> FunPtr
(Ptr Instance_T
-> Ptr (SomeStruct DisplaySurfaceCreateInfoKHR)
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result)
pVkCreateDisplayPlaneSurfaceKHR (case Instance
instance' of Instance{InstanceCmds
instanceCmds :: InstanceCmds
instanceCmds :: Instance -> InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
IO () -> ContT SurfaceKHR IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT SurfaceKHR m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT SurfaceKHR IO ())
-> IO () -> ContT SurfaceKHR IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Instance_T
-> Ptr (SomeStruct DisplaySurfaceCreateInfoKHR)
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result)
vkCreateDisplayPlaneSurfaceKHRPtr FunPtr
(Ptr Instance_T
-> Ptr (SomeStruct DisplaySurfaceCreateInfoKHR)
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result)
-> FunPtr
(Ptr Instance_T
-> Ptr (SomeStruct DisplaySurfaceCreateInfoKHR)
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Instance_T
-> Ptr (SomeStruct DisplaySurfaceCreateInfoKHR)
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result)
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. (HasCallStack, Exception e) => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCreateDisplayPlaneSurfaceKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCreateDisplayPlaneSurfaceKHR' :: Ptr Instance_T
-> Ptr (SomeStruct DisplaySurfaceCreateInfoKHR)
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result
vkCreateDisplayPlaneSurfaceKHR' = FunPtr
(Ptr Instance_T
-> Ptr (SomeStruct DisplaySurfaceCreateInfoKHR)
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result)
-> Ptr Instance_T
-> Ptr (SomeStruct DisplaySurfaceCreateInfoKHR)
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result
mkVkCreateDisplayPlaneSurfaceKHR FunPtr
(Ptr Instance_T
-> Ptr (SomeStruct DisplaySurfaceCreateInfoKHR)
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result)
vkCreateDisplayPlaneSurfaceKHRPtr
pCreateInfo <- ((Ptr (DisplaySurfaceCreateInfoKHR a) -> IO SurfaceKHR)
-> IO SurfaceKHR)
-> ContT SurfaceKHR IO (Ptr (DisplaySurfaceCreateInfoKHR a))
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr (DisplaySurfaceCreateInfoKHR a) -> IO SurfaceKHR)
-> IO SurfaceKHR)
-> ContT SurfaceKHR IO (Ptr (DisplaySurfaceCreateInfoKHR a)))
-> ((Ptr (DisplaySurfaceCreateInfoKHR a) -> IO SurfaceKHR)
-> IO SurfaceKHR)
-> ContT SurfaceKHR IO (Ptr (DisplaySurfaceCreateInfoKHR a))
forall a b. (a -> b) -> a -> b
$ DisplaySurfaceCreateInfoKHR a
-> (Ptr (DisplaySurfaceCreateInfoKHR a) -> IO SurfaceKHR)
-> IO SurfaceKHR
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
forall b.
DisplaySurfaceCreateInfoKHR a
-> (Ptr (DisplaySurfaceCreateInfoKHR a) -> IO b) -> IO b
withCStruct (DisplaySurfaceCreateInfoKHR a
createInfo)
pAllocator <- case (allocator) of
"allocator" ::: Maybe AllocationCallbacks
Nothing -> Ptr AllocationCallbacks
-> ContT SurfaceKHR IO (Ptr AllocationCallbacks)
forall a. a -> ContT SurfaceKHR IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure Ptr AllocationCallbacks
forall a. Ptr a
nullPtr
Just AllocationCallbacks
j -> ((Ptr AllocationCallbacks -> IO SurfaceKHR) -> IO SurfaceKHR)
-> ContT SurfaceKHR IO (Ptr AllocationCallbacks)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr AllocationCallbacks -> IO SurfaceKHR) -> IO SurfaceKHR)
-> ContT SurfaceKHR IO (Ptr AllocationCallbacks))
-> ((Ptr AllocationCallbacks -> IO SurfaceKHR) -> IO SurfaceKHR)
-> ContT SurfaceKHR IO (Ptr AllocationCallbacks)
forall a b. (a -> b) -> a -> b
$ AllocationCallbacks
-> (Ptr AllocationCallbacks -> IO SurfaceKHR) -> IO SurfaceKHR
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
forall b.
AllocationCallbacks -> (Ptr AllocationCallbacks -> IO b) -> IO b
withCStruct (AllocationCallbacks
j)
pPSurface <- ContT $ bracket (callocBytes @SurfaceKHR 8) free
r <- lift $ traceAroundEvent "vkCreateDisplayPlaneSurfaceKHR" (vkCreateDisplayPlaneSurfaceKHR'
(instanceHandle (instance'))
(forgetExtensions pCreateInfo)
pAllocator
(pPSurface))
lift $ when (r < SUCCESS) (throwIO (VulkanException r))
pSurface <- lift $ peek @SurfaceKHR pPSurface
pure $ (pSurface)
data DisplayPropertiesKHR = DisplayPropertiesKHR
{
DisplayPropertiesKHR -> DisplayKHR
display :: DisplayKHR
,
DisplayPropertiesKHR -> ByteString
displayName :: ByteString
,
DisplayPropertiesKHR -> Extent2D
physicalDimensions :: Extent2D
,
DisplayPropertiesKHR -> Extent2D
physicalResolution :: Extent2D
,
DisplayPropertiesKHR -> SurfaceTransformFlagsKHR
supportedTransforms :: SurfaceTransformFlagsKHR
,
DisplayPropertiesKHR -> Bool
planeReorderPossible :: Bool
,
DisplayPropertiesKHR -> Bool
persistentContent :: Bool
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DisplayPropertiesKHR)
#endif
deriving instance Show DisplayPropertiesKHR
instance ToCStruct DisplayPropertiesKHR where
withCStruct :: forall b.
DisplayPropertiesKHR -> (Ptr DisplayPropertiesKHR -> IO b) -> IO b
withCStruct DisplayPropertiesKHR
x Ptr DisplayPropertiesKHR -> IO b
f = Int -> (Ptr DisplayPropertiesKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
48 ((Ptr DisplayPropertiesKHR -> IO b) -> IO b)
-> (Ptr DisplayPropertiesKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr DisplayPropertiesKHR
p -> Ptr DisplayPropertiesKHR -> DisplayPropertiesKHR -> IO b -> IO b
forall b.
Ptr DisplayPropertiesKHR -> DisplayPropertiesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DisplayPropertiesKHR
p DisplayPropertiesKHR
x (Ptr DisplayPropertiesKHR -> IO b
f Ptr DisplayPropertiesKHR
p)
pokeCStruct :: forall b.
Ptr DisplayPropertiesKHR -> DisplayPropertiesKHR -> IO b -> IO b
pokeCStruct Ptr DisplayPropertiesKHR
p DisplayPropertiesKHR{Bool
ByteString
Extent2D
DisplayKHR
SurfaceTransformFlagsKHR
display :: DisplayPropertiesKHR -> DisplayKHR
displayName :: DisplayPropertiesKHR -> ByteString
physicalDimensions :: DisplayPropertiesKHR -> Extent2D
physicalResolution :: DisplayPropertiesKHR -> Extent2D
supportedTransforms :: DisplayPropertiesKHR -> SurfaceTransformFlagsKHR
planeReorderPossible :: DisplayPropertiesKHR -> Bool
persistentContent :: DisplayPropertiesKHR -> Bool
display :: DisplayKHR
displayName :: ByteString
physicalDimensions :: Extent2D
physicalResolution :: Extent2D
supportedTransforms :: SurfaceTransformFlagsKHR
planeReorderPossible :: Bool
persistentContent :: Bool
..} IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DisplayKHR -> DisplayKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPropertiesKHR
p Ptr DisplayPropertiesKHR -> Int -> Ptr DisplayKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr DisplayKHR)) (DisplayKHR
display)
displayName'' <- ((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar))
-> ((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar)
forall a b. (a -> b) -> a -> b
$ ByteString -> (Ptr CChar -> IO b) -> IO b
forall a. ByteString -> (Ptr CChar -> IO a) -> IO a
useAsCString (ByteString
displayName)
lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr CChar))) displayName''
lift $ poke ((p `plusPtr` 16 :: Ptr Extent2D)) (physicalDimensions)
lift $ poke ((p `plusPtr` 24 :: Ptr Extent2D)) (physicalResolution)
lift $ poke ((p `plusPtr` 32 :: Ptr SurfaceTransformFlagsKHR)) (supportedTransforms)
lift $ poke ((p `plusPtr` 36 :: Ptr Bool32)) (boolToBool32 (planeReorderPossible))
lift $ poke ((p `plusPtr` 40 :: Ptr Bool32)) (boolToBool32 (persistentContent))
lift $ f
cStructSize :: Int
cStructSize = Int
48
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr DisplayPropertiesKHR -> IO b -> IO b
pokeZeroCStruct Ptr DisplayPropertiesKHR
p IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DisplayKHR -> DisplayKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPropertiesKHR
p Ptr DisplayPropertiesKHR -> Int -> Ptr DisplayKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr DisplayKHR)) (DisplayKHR
forall a. Zero a => a
zero)
displayName'' <- ((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar))
-> ((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar)
forall a b. (a -> b) -> a -> b
$ ByteString -> (Ptr CChar -> IO b) -> IO b
forall a. ByteString -> (Ptr CChar -> IO a) -> IO a
useAsCString (ByteString
forall a. Monoid a => a
mempty)
lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr CChar))) displayName''
lift $ poke ((p `plusPtr` 16 :: Ptr Extent2D)) (zero)
lift $ poke ((p `plusPtr` 24 :: Ptr Extent2D)) (zero)
lift $ poke ((p `plusPtr` 36 :: Ptr Bool32)) (boolToBool32 (zero))
lift $ poke ((p `plusPtr` 40 :: Ptr Bool32)) (boolToBool32 (zero))
lift $ f
instance FromCStruct DisplayPropertiesKHR where
peekCStruct :: Ptr DisplayPropertiesKHR -> IO DisplayPropertiesKHR
peekCStruct Ptr DisplayPropertiesKHR
p = do
display <- forall a. Storable a => Ptr a -> IO a
peek @DisplayKHR ((Ptr DisplayPropertiesKHR
p Ptr DisplayPropertiesKHR -> Int -> Ptr DisplayKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr DisplayKHR))
displayName <- packCString =<< peek ((p `plusPtr` 8 :: Ptr (Ptr CChar)))
physicalDimensions <- peekCStruct @Extent2D ((p `plusPtr` 16 :: Ptr Extent2D))
physicalResolution <- peekCStruct @Extent2D ((p `plusPtr` 24 :: Ptr Extent2D))
supportedTransforms <- peek @SurfaceTransformFlagsKHR ((p `plusPtr` 32 :: Ptr SurfaceTransformFlagsKHR))
planeReorderPossible <- peek @Bool32 ((p `plusPtr` 36 :: Ptr Bool32))
persistentContent <- peek @Bool32 ((p `plusPtr` 40 :: Ptr Bool32))
pure $ DisplayPropertiesKHR
display
displayName
physicalDimensions
physicalResolution
supportedTransforms
(bool32ToBool planeReorderPossible)
(bool32ToBool persistentContent)
instance Zero DisplayPropertiesKHR where
zero :: DisplayPropertiesKHR
zero = DisplayKHR
-> ByteString
-> Extent2D
-> Extent2D
-> SurfaceTransformFlagsKHR
-> Bool
-> Bool
-> DisplayPropertiesKHR
DisplayPropertiesKHR
DisplayKHR
forall a. Zero a => a
zero
ByteString
forall a. Monoid a => a
mempty
Extent2D
forall a. Zero a => a
zero
Extent2D
forall a. Zero a => a
zero
SurfaceTransformFlagsKHR
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
data DisplayPlanePropertiesKHR = DisplayPlanePropertiesKHR
{
DisplayPlanePropertiesKHR -> DisplayKHR
currentDisplay :: DisplayKHR
,
DisplayPlanePropertiesKHR -> Word32
currentStackIndex :: Word32
}
deriving (Typeable, DisplayPlanePropertiesKHR -> DisplayPlanePropertiesKHR -> Bool
(DisplayPlanePropertiesKHR -> DisplayPlanePropertiesKHR -> Bool)
-> (DisplayPlanePropertiesKHR -> DisplayPlanePropertiesKHR -> Bool)
-> Eq DisplayPlanePropertiesKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DisplayPlanePropertiesKHR -> DisplayPlanePropertiesKHR -> Bool
== :: DisplayPlanePropertiesKHR -> DisplayPlanePropertiesKHR -> Bool
$c/= :: DisplayPlanePropertiesKHR -> DisplayPlanePropertiesKHR -> Bool
/= :: DisplayPlanePropertiesKHR -> DisplayPlanePropertiesKHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DisplayPlanePropertiesKHR)
#endif
deriving instance Show DisplayPlanePropertiesKHR
instance ToCStruct DisplayPlanePropertiesKHR where
withCStruct :: forall b.
DisplayPlanePropertiesKHR
-> (Ptr DisplayPlanePropertiesKHR -> IO b) -> IO b
withCStruct DisplayPlanePropertiesKHR
x Ptr DisplayPlanePropertiesKHR -> IO b
f = Int -> (Ptr DisplayPlanePropertiesKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
16 ((Ptr DisplayPlanePropertiesKHR -> IO b) -> IO b)
-> (Ptr DisplayPlanePropertiesKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr DisplayPlanePropertiesKHR
p -> Ptr DisplayPlanePropertiesKHR
-> DisplayPlanePropertiesKHR -> IO b -> IO b
forall b.
Ptr DisplayPlanePropertiesKHR
-> DisplayPlanePropertiesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DisplayPlanePropertiesKHR
p DisplayPlanePropertiesKHR
x (Ptr DisplayPlanePropertiesKHR -> IO b
f Ptr DisplayPlanePropertiesKHR
p)
pokeCStruct :: forall b.
Ptr DisplayPlanePropertiesKHR
-> DisplayPlanePropertiesKHR -> IO b -> IO b
pokeCStruct Ptr DisplayPlanePropertiesKHR
p DisplayPlanePropertiesKHR{Word32
DisplayKHR
currentDisplay :: DisplayPlanePropertiesKHR -> DisplayKHR
currentStackIndex :: DisplayPlanePropertiesKHR -> Word32
currentDisplay :: DisplayKHR
currentStackIndex :: Word32
..} IO b
f = do
Ptr DisplayKHR -> DisplayKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlanePropertiesKHR
p Ptr DisplayPlanePropertiesKHR -> Int -> Ptr DisplayKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr DisplayKHR)) (DisplayKHR
currentDisplay)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlanePropertiesKHR
p Ptr DisplayPlanePropertiesKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr Word32)) (Word32
currentStackIndex)
IO b
f
cStructSize :: Int
cStructSize = Int
16
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr DisplayPlanePropertiesKHR -> IO b -> IO b
pokeZeroCStruct Ptr DisplayPlanePropertiesKHR
p IO b
f = do
Ptr DisplayKHR -> DisplayKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlanePropertiesKHR
p Ptr DisplayPlanePropertiesKHR -> Int -> Ptr DisplayKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr DisplayKHR)) (DisplayKHR
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlanePropertiesKHR
p Ptr DisplayPlanePropertiesKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DisplayPlanePropertiesKHR where
peekCStruct :: Ptr DisplayPlanePropertiesKHR -> IO DisplayPlanePropertiesKHR
peekCStruct Ptr DisplayPlanePropertiesKHR
p = do
currentDisplay <- forall a. Storable a => Ptr a -> IO a
peek @DisplayKHR ((Ptr DisplayPlanePropertiesKHR
p Ptr DisplayPlanePropertiesKHR -> Int -> Ptr DisplayKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr DisplayKHR))
currentStackIndex <- peek @Word32 ((p `plusPtr` 8 :: Ptr Word32))
pure $ DisplayPlanePropertiesKHR
currentDisplay currentStackIndex
instance Storable DisplayPlanePropertiesKHR where
sizeOf :: DisplayPlanePropertiesKHR -> Int
sizeOf ~DisplayPlanePropertiesKHR
_ = Int
16
alignment :: DisplayPlanePropertiesKHR -> Int
alignment ~DisplayPlanePropertiesKHR
_ = Int
8
peek :: Ptr DisplayPlanePropertiesKHR -> IO DisplayPlanePropertiesKHR
peek = Ptr DisplayPlanePropertiesKHR -> IO DisplayPlanePropertiesKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr DisplayPlanePropertiesKHR -> DisplayPlanePropertiesKHR -> IO ()
poke Ptr DisplayPlanePropertiesKHR
ptr DisplayPlanePropertiesKHR
poked = Ptr DisplayPlanePropertiesKHR
-> DisplayPlanePropertiesKHR -> IO () -> IO ()
forall b.
Ptr DisplayPlanePropertiesKHR
-> DisplayPlanePropertiesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DisplayPlanePropertiesKHR
ptr DisplayPlanePropertiesKHR
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero DisplayPlanePropertiesKHR where
zero :: DisplayPlanePropertiesKHR
zero = DisplayKHR -> Word32 -> DisplayPlanePropertiesKHR
DisplayPlanePropertiesKHR
DisplayKHR
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
data DisplayModeParametersKHR = DisplayModeParametersKHR
{
DisplayModeParametersKHR -> Extent2D
visibleRegion :: Extent2D
,
DisplayModeParametersKHR -> Word32
refreshRate :: Word32
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DisplayModeParametersKHR)
#endif
deriving instance Show DisplayModeParametersKHR
instance ToCStruct DisplayModeParametersKHR where
withCStruct :: forall b.
DisplayModeParametersKHR
-> (Ptr DisplayModeParametersKHR -> IO b) -> IO b
withCStruct DisplayModeParametersKHR
x Ptr DisplayModeParametersKHR -> IO b
f = Int -> (Ptr DisplayModeParametersKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
12 ((Ptr DisplayModeParametersKHR -> IO b) -> IO b)
-> (Ptr DisplayModeParametersKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr DisplayModeParametersKHR
p -> Ptr DisplayModeParametersKHR
-> DisplayModeParametersKHR -> IO b -> IO b
forall b.
Ptr DisplayModeParametersKHR
-> DisplayModeParametersKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DisplayModeParametersKHR
p DisplayModeParametersKHR
x (Ptr DisplayModeParametersKHR -> IO b
f Ptr DisplayModeParametersKHR
p)
pokeCStruct :: forall b.
Ptr DisplayModeParametersKHR
-> DisplayModeParametersKHR -> IO b -> IO b
pokeCStruct Ptr DisplayModeParametersKHR
p DisplayModeParametersKHR{Word32
Extent2D
visibleRegion :: DisplayModeParametersKHR -> Extent2D
refreshRate :: DisplayModeParametersKHR -> Word32
visibleRegion :: Extent2D
refreshRate :: Word32
..} IO b
f = do
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayModeParametersKHR
p Ptr DisplayModeParametersKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr Extent2D)) (Extent2D
visibleRegion)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayModeParametersKHR
p Ptr DisplayModeParametersKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr Word32)) (Word32
refreshRate)
IO b
f
cStructSize :: Int
cStructSize = Int
12
cStructAlignment :: Int
cStructAlignment = Int
4
pokeZeroCStruct :: forall b. Ptr DisplayModeParametersKHR -> IO b -> IO b
pokeZeroCStruct Ptr DisplayModeParametersKHR
p IO b
f = do
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayModeParametersKHR
p Ptr DisplayModeParametersKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr Extent2D)) (Extent2D
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayModeParametersKHR
p Ptr DisplayModeParametersKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DisplayModeParametersKHR where
peekCStruct :: Ptr DisplayModeParametersKHR -> IO DisplayModeParametersKHR
peekCStruct Ptr DisplayModeParametersKHR
p = do
visibleRegion <- forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @Extent2D ((Ptr DisplayModeParametersKHR
p Ptr DisplayModeParametersKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr Extent2D))
refreshRate <- peek @Word32 ((p `plusPtr` 8 :: Ptr Word32))
pure $ DisplayModeParametersKHR
visibleRegion refreshRate
instance Storable DisplayModeParametersKHR where
sizeOf :: DisplayModeParametersKHR -> Int
sizeOf ~DisplayModeParametersKHR
_ = Int
12
alignment :: DisplayModeParametersKHR -> Int
alignment ~DisplayModeParametersKHR
_ = Int
4
peek :: Ptr DisplayModeParametersKHR -> IO DisplayModeParametersKHR
peek = Ptr DisplayModeParametersKHR -> IO DisplayModeParametersKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr DisplayModeParametersKHR -> DisplayModeParametersKHR -> IO ()
poke Ptr DisplayModeParametersKHR
ptr DisplayModeParametersKHR
poked = Ptr DisplayModeParametersKHR
-> DisplayModeParametersKHR -> IO () -> IO ()
forall b.
Ptr DisplayModeParametersKHR
-> DisplayModeParametersKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DisplayModeParametersKHR
ptr DisplayModeParametersKHR
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero DisplayModeParametersKHR where
zero :: DisplayModeParametersKHR
zero = Extent2D -> Word32 -> DisplayModeParametersKHR
DisplayModeParametersKHR
Extent2D
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
data DisplayModePropertiesKHR = DisplayModePropertiesKHR
{
DisplayModePropertiesKHR -> DisplayModeKHR
displayMode :: DisplayModeKHR
,
DisplayModePropertiesKHR -> DisplayModeParametersKHR
parameters :: DisplayModeParametersKHR
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DisplayModePropertiesKHR)
#endif
deriving instance Show DisplayModePropertiesKHR
instance ToCStruct DisplayModePropertiesKHR where
withCStruct :: forall b.
DisplayModePropertiesKHR
-> (Ptr DisplayModePropertiesKHR -> IO b) -> IO b
withCStruct DisplayModePropertiesKHR
x Ptr DisplayModePropertiesKHR -> IO b
f = Int -> (Ptr DisplayModePropertiesKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr DisplayModePropertiesKHR -> IO b) -> IO b)
-> (Ptr DisplayModePropertiesKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr DisplayModePropertiesKHR
p -> Ptr DisplayModePropertiesKHR
-> DisplayModePropertiesKHR -> IO b -> IO b
forall b.
Ptr DisplayModePropertiesKHR
-> DisplayModePropertiesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DisplayModePropertiesKHR
p DisplayModePropertiesKHR
x (Ptr DisplayModePropertiesKHR -> IO b
f Ptr DisplayModePropertiesKHR
p)
pokeCStruct :: forall b.
Ptr DisplayModePropertiesKHR
-> DisplayModePropertiesKHR -> IO b -> IO b
pokeCStruct Ptr DisplayModePropertiesKHR
p DisplayModePropertiesKHR{DisplayModeKHR
DisplayModeParametersKHR
displayMode :: DisplayModePropertiesKHR -> DisplayModeKHR
parameters :: DisplayModePropertiesKHR -> DisplayModeParametersKHR
displayMode :: DisplayModeKHR
parameters :: DisplayModeParametersKHR
..} IO b
f = do
Ptr DisplayModeKHR -> DisplayModeKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayModePropertiesKHR
p Ptr DisplayModePropertiesKHR -> Int -> Ptr DisplayModeKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr DisplayModeKHR)) (DisplayModeKHR
displayMode)
Ptr DisplayModeParametersKHR -> DisplayModeParametersKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayModePropertiesKHR
p Ptr DisplayModePropertiesKHR -> Int -> Ptr DisplayModeParametersKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr DisplayModeParametersKHR)) (DisplayModeParametersKHR
parameters)
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr DisplayModePropertiesKHR -> IO b -> IO b
pokeZeroCStruct Ptr DisplayModePropertiesKHR
p IO b
f = do
Ptr DisplayModeKHR -> DisplayModeKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayModePropertiesKHR
p Ptr DisplayModePropertiesKHR -> Int -> Ptr DisplayModeKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr DisplayModeKHR)) (DisplayModeKHR
forall a. Zero a => a
zero)
Ptr DisplayModeParametersKHR -> DisplayModeParametersKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayModePropertiesKHR
p Ptr DisplayModePropertiesKHR -> Int -> Ptr DisplayModeParametersKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr DisplayModeParametersKHR)) (DisplayModeParametersKHR
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DisplayModePropertiesKHR where
peekCStruct :: Ptr DisplayModePropertiesKHR -> IO DisplayModePropertiesKHR
peekCStruct Ptr DisplayModePropertiesKHR
p = do
displayMode <- forall a. Storable a => Ptr a -> IO a
peek @DisplayModeKHR ((Ptr DisplayModePropertiesKHR
p Ptr DisplayModePropertiesKHR -> Int -> Ptr DisplayModeKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr DisplayModeKHR))
parameters <- peekCStruct @DisplayModeParametersKHR ((p `plusPtr` 8 :: Ptr DisplayModeParametersKHR))
pure $ DisplayModePropertiesKHR
displayMode parameters
instance Storable DisplayModePropertiesKHR where
sizeOf :: DisplayModePropertiesKHR -> Int
sizeOf ~DisplayModePropertiesKHR
_ = Int
24
alignment :: DisplayModePropertiesKHR -> Int
alignment ~DisplayModePropertiesKHR
_ = Int
8
peek :: Ptr DisplayModePropertiesKHR -> IO DisplayModePropertiesKHR
peek = Ptr DisplayModePropertiesKHR -> IO DisplayModePropertiesKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr DisplayModePropertiesKHR -> DisplayModePropertiesKHR -> IO ()
poke Ptr DisplayModePropertiesKHR
ptr DisplayModePropertiesKHR
poked = Ptr DisplayModePropertiesKHR
-> DisplayModePropertiesKHR -> IO () -> IO ()
forall b.
Ptr DisplayModePropertiesKHR
-> DisplayModePropertiesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DisplayModePropertiesKHR
ptr DisplayModePropertiesKHR
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero DisplayModePropertiesKHR where
zero :: DisplayModePropertiesKHR
zero = DisplayModeKHR
-> DisplayModeParametersKHR -> DisplayModePropertiesKHR
DisplayModePropertiesKHR
DisplayModeKHR
forall a. Zero a => a
zero
DisplayModeParametersKHR
forall a. Zero a => a
zero
data DisplayModeCreateInfoKHR = DisplayModeCreateInfoKHR
{
DisplayModeCreateInfoKHR -> DisplayModeCreateFlagsKHR
flags :: DisplayModeCreateFlagsKHR
,
DisplayModeCreateInfoKHR -> DisplayModeParametersKHR
parameters :: DisplayModeParametersKHR
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DisplayModeCreateInfoKHR)
#endif
deriving instance Show DisplayModeCreateInfoKHR
instance ToCStruct DisplayModeCreateInfoKHR where
withCStruct :: forall b.
DisplayModeCreateInfoKHR
-> (Ptr DisplayModeCreateInfoKHR -> IO b) -> IO b
withCStruct DisplayModeCreateInfoKHR
x Ptr DisplayModeCreateInfoKHR -> IO b
f = Int -> (Ptr DisplayModeCreateInfoKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 ((Ptr DisplayModeCreateInfoKHR -> IO b) -> IO b)
-> (Ptr DisplayModeCreateInfoKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr DisplayModeCreateInfoKHR
p -> Ptr DisplayModeCreateInfoKHR
-> DisplayModeCreateInfoKHR -> IO b -> IO b
forall b.
Ptr DisplayModeCreateInfoKHR
-> DisplayModeCreateInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DisplayModeCreateInfoKHR
p DisplayModeCreateInfoKHR
x (Ptr DisplayModeCreateInfoKHR -> IO b
f Ptr DisplayModeCreateInfoKHR
p)
pokeCStruct :: forall b.
Ptr DisplayModeCreateInfoKHR
-> DisplayModeCreateInfoKHR -> IO b -> IO b
pokeCStruct Ptr DisplayModeCreateInfoKHR
p DisplayModeCreateInfoKHR{DisplayModeParametersKHR
DisplayModeCreateFlagsKHR
flags :: DisplayModeCreateInfoKHR -> DisplayModeCreateFlagsKHR
parameters :: DisplayModeCreateInfoKHR -> DisplayModeParametersKHR
flags :: DisplayModeCreateFlagsKHR
parameters :: DisplayModeParametersKHR
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayModeCreateInfoKHR
p Ptr DisplayModeCreateInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayModeCreateInfoKHR
p Ptr DisplayModeCreateInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayModeCreateInfoKHR
p Ptr DisplayModeCreateInfoKHR
-> Int -> Ptr DisplayModeCreateFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr DisplayModeCreateFlagsKHR)) (DisplayModeCreateFlagsKHR
flags)
Ptr DisplayModeParametersKHR -> DisplayModeParametersKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayModeCreateInfoKHR
p Ptr DisplayModeCreateInfoKHR -> Int -> Ptr DisplayModeParametersKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr DisplayModeParametersKHR)) (DisplayModeParametersKHR
parameters)
IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr DisplayModeCreateInfoKHR -> IO b -> IO b
pokeZeroCStruct Ptr DisplayModeCreateInfoKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayModeCreateInfoKHR
p Ptr DisplayModeCreateInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayModeCreateInfoKHR
p Ptr DisplayModeCreateInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr DisplayModeParametersKHR -> DisplayModeParametersKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayModeCreateInfoKHR
p Ptr DisplayModeCreateInfoKHR -> Int -> Ptr DisplayModeParametersKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr DisplayModeParametersKHR)) (DisplayModeParametersKHR
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DisplayModeCreateInfoKHR where
peekCStruct :: Ptr DisplayModeCreateInfoKHR -> IO DisplayModeCreateInfoKHR
peekCStruct Ptr DisplayModeCreateInfoKHR
p = do
flags <- forall a. Storable a => Ptr a -> IO a
peek @DisplayModeCreateFlagsKHR ((Ptr DisplayModeCreateInfoKHR
p Ptr DisplayModeCreateInfoKHR
-> Int -> Ptr DisplayModeCreateFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr DisplayModeCreateFlagsKHR))
parameters <- peekCStruct @DisplayModeParametersKHR ((p `plusPtr` 20 :: Ptr DisplayModeParametersKHR))
pure $ DisplayModeCreateInfoKHR
flags parameters
instance Storable DisplayModeCreateInfoKHR where
sizeOf :: DisplayModeCreateInfoKHR -> Int
sizeOf ~DisplayModeCreateInfoKHR
_ = Int
32
alignment :: DisplayModeCreateInfoKHR -> Int
alignment ~DisplayModeCreateInfoKHR
_ = Int
8
peek :: Ptr DisplayModeCreateInfoKHR -> IO DisplayModeCreateInfoKHR
peek = Ptr DisplayModeCreateInfoKHR -> IO DisplayModeCreateInfoKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr DisplayModeCreateInfoKHR -> DisplayModeCreateInfoKHR -> IO ()
poke Ptr DisplayModeCreateInfoKHR
ptr DisplayModeCreateInfoKHR
poked = Ptr DisplayModeCreateInfoKHR
-> DisplayModeCreateInfoKHR -> IO () -> IO ()
forall b.
Ptr DisplayModeCreateInfoKHR
-> DisplayModeCreateInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DisplayModeCreateInfoKHR
ptr DisplayModeCreateInfoKHR
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero DisplayModeCreateInfoKHR where
zero :: DisplayModeCreateInfoKHR
zero = DisplayModeCreateFlagsKHR
-> DisplayModeParametersKHR -> DisplayModeCreateInfoKHR
DisplayModeCreateInfoKHR
DisplayModeCreateFlagsKHR
forall a. Zero a => a
zero
DisplayModeParametersKHR
forall a. Zero a => a
zero
data DisplayPlaneCapabilitiesKHR = DisplayPlaneCapabilitiesKHR
{
DisplayPlaneCapabilitiesKHR -> DisplayPlaneAlphaFlagsKHR
supportedAlpha :: DisplayPlaneAlphaFlagsKHR
,
DisplayPlaneCapabilitiesKHR -> Offset2D
minSrcPosition :: Offset2D
,
DisplayPlaneCapabilitiesKHR -> Offset2D
maxSrcPosition :: Offset2D
,
DisplayPlaneCapabilitiesKHR -> Extent2D
minSrcExtent :: Extent2D
,
DisplayPlaneCapabilitiesKHR -> Extent2D
maxSrcExtent :: Extent2D
,
DisplayPlaneCapabilitiesKHR -> Offset2D
minDstPosition :: Offset2D
,
DisplayPlaneCapabilitiesKHR -> Offset2D
maxDstPosition :: Offset2D
,
DisplayPlaneCapabilitiesKHR -> Extent2D
minDstExtent :: Extent2D
,
DisplayPlaneCapabilitiesKHR -> Extent2D
maxDstExtent :: Extent2D
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DisplayPlaneCapabilitiesKHR)
#endif
deriving instance Show DisplayPlaneCapabilitiesKHR
instance ToCStruct DisplayPlaneCapabilitiesKHR where
withCStruct :: forall b.
DisplayPlaneCapabilitiesKHR
-> (Ptr DisplayPlaneCapabilitiesKHR -> IO b) -> IO b
withCStruct DisplayPlaneCapabilitiesKHR
x Ptr DisplayPlaneCapabilitiesKHR -> IO b
f = Int -> (Ptr DisplayPlaneCapabilitiesKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
68 ((Ptr DisplayPlaneCapabilitiesKHR -> IO b) -> IO b)
-> (Ptr DisplayPlaneCapabilitiesKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr DisplayPlaneCapabilitiesKHR
p -> Ptr DisplayPlaneCapabilitiesKHR
-> DisplayPlaneCapabilitiesKHR -> IO b -> IO b
forall b.
Ptr DisplayPlaneCapabilitiesKHR
-> DisplayPlaneCapabilitiesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DisplayPlaneCapabilitiesKHR
p DisplayPlaneCapabilitiesKHR
x (Ptr DisplayPlaneCapabilitiesKHR -> IO b
f Ptr DisplayPlaneCapabilitiesKHR
p)
pokeCStruct :: forall b.
Ptr DisplayPlaneCapabilitiesKHR
-> DisplayPlaneCapabilitiesKHR -> IO b -> IO b
pokeCStruct Ptr DisplayPlaneCapabilitiesKHR
p DisplayPlaneCapabilitiesKHR{Offset2D
Extent2D
DisplayPlaneAlphaFlagsKHR
supportedAlpha :: DisplayPlaneCapabilitiesKHR -> DisplayPlaneAlphaFlagsKHR
minSrcPosition :: DisplayPlaneCapabilitiesKHR -> Offset2D
maxSrcPosition :: DisplayPlaneCapabilitiesKHR -> Offset2D
minSrcExtent :: DisplayPlaneCapabilitiesKHR -> Extent2D
maxSrcExtent :: DisplayPlaneCapabilitiesKHR -> Extent2D
minDstPosition :: DisplayPlaneCapabilitiesKHR -> Offset2D
maxDstPosition :: DisplayPlaneCapabilitiesKHR -> Offset2D
minDstExtent :: DisplayPlaneCapabilitiesKHR -> Extent2D
maxDstExtent :: DisplayPlaneCapabilitiesKHR -> Extent2D
supportedAlpha :: DisplayPlaneAlphaFlagsKHR
minSrcPosition :: Offset2D
maxSrcPosition :: Offset2D
minSrcExtent :: Extent2D
maxSrcExtent :: Extent2D
minDstPosition :: Offset2D
maxDstPosition :: Offset2D
minDstExtent :: Extent2D
maxDstExtent :: Extent2D
..} IO b
f = do
Ptr DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR
-> Int -> Ptr DisplayPlaneAlphaFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr DisplayPlaneAlphaFlagsKHR)) (DisplayPlaneAlphaFlagsKHR
supportedAlpha)
Ptr Offset2D -> Offset2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR -> Int -> Ptr Offset2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4 :: Ptr Offset2D)) (Offset2D
minSrcPosition)
Ptr Offset2D -> Offset2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR -> Int -> Ptr Offset2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
12 :: Ptr Offset2D)) (Offset2D
maxSrcPosition)
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Extent2D)) (Extent2D
minSrcExtent)
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Extent2D)) (Extent2D
maxSrcExtent)
Ptr Offset2D -> Offset2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR -> Int -> Ptr Offset2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Offset2D)) (Offset2D
minDstPosition)
Ptr Offset2D -> Offset2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR -> Int -> Ptr Offset2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: Ptr Offset2D)) (Offset2D
maxDstPosition)
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
52 :: Ptr Extent2D)) (Extent2D
minDstExtent)
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
60 :: Ptr Extent2D)) (Extent2D
maxDstExtent)
IO b
f
cStructSize :: Int
cStructSize = Int
68
cStructAlignment :: Int
cStructAlignment = Int
4
pokeZeroCStruct :: forall b. Ptr DisplayPlaneCapabilitiesKHR -> IO b -> IO b
pokeZeroCStruct Ptr DisplayPlaneCapabilitiesKHR
p IO b
f = do
Ptr Offset2D -> Offset2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR -> Int -> Ptr Offset2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4 :: Ptr Offset2D)) (Offset2D
forall a. Zero a => a
zero)
Ptr Offset2D -> Offset2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR -> Int -> Ptr Offset2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
12 :: Ptr Offset2D)) (Offset2D
forall a. Zero a => a
zero)
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Extent2D)) (Extent2D
forall a. Zero a => a
zero)
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Extent2D)) (Extent2D
forall a. Zero a => a
zero)
Ptr Offset2D -> Offset2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR -> Int -> Ptr Offset2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Offset2D)) (Offset2D
forall a. Zero a => a
zero)
Ptr Offset2D -> Offset2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR -> Int -> Ptr Offset2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: Ptr Offset2D)) (Offset2D
forall a. Zero a => a
zero)
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
52 :: Ptr Extent2D)) (Extent2D
forall a. Zero a => a
zero)
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
60 :: Ptr Extent2D)) (Extent2D
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DisplayPlaneCapabilitiesKHR where
peekCStruct :: Ptr DisplayPlaneCapabilitiesKHR -> IO DisplayPlaneCapabilitiesKHR
peekCStruct Ptr DisplayPlaneCapabilitiesKHR
p = do
supportedAlpha <- forall a. Storable a => Ptr a -> IO a
peek @DisplayPlaneAlphaFlagsKHR ((Ptr DisplayPlaneCapabilitiesKHR
p Ptr DisplayPlaneCapabilitiesKHR
-> Int -> Ptr DisplayPlaneAlphaFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr DisplayPlaneAlphaFlagsKHR))
minSrcPosition <- peekCStruct @Offset2D ((p `plusPtr` 4 :: Ptr Offset2D))
maxSrcPosition <- peekCStruct @Offset2D ((p `plusPtr` 12 :: Ptr Offset2D))
minSrcExtent <- peekCStruct @Extent2D ((p `plusPtr` 20 :: Ptr Extent2D))
maxSrcExtent <- peekCStruct @Extent2D ((p `plusPtr` 28 :: Ptr Extent2D))
minDstPosition <- peekCStruct @Offset2D ((p `plusPtr` 36 :: Ptr Offset2D))
maxDstPosition <- peekCStruct @Offset2D ((p `plusPtr` 44 :: Ptr Offset2D))
minDstExtent <- peekCStruct @Extent2D ((p `plusPtr` 52 :: Ptr Extent2D))
maxDstExtent <- peekCStruct @Extent2D ((p `plusPtr` 60 :: Ptr Extent2D))
pure $ DisplayPlaneCapabilitiesKHR
supportedAlpha
minSrcPosition
maxSrcPosition
minSrcExtent
maxSrcExtent
minDstPosition
maxDstPosition
minDstExtent
maxDstExtent
instance Storable DisplayPlaneCapabilitiesKHR where
sizeOf :: DisplayPlaneCapabilitiesKHR -> Int
sizeOf ~DisplayPlaneCapabilitiesKHR
_ = Int
68
alignment :: DisplayPlaneCapabilitiesKHR -> Int
alignment ~DisplayPlaneCapabilitiesKHR
_ = Int
4
peek :: Ptr DisplayPlaneCapabilitiesKHR -> IO DisplayPlaneCapabilitiesKHR
peek = Ptr DisplayPlaneCapabilitiesKHR -> IO DisplayPlaneCapabilitiesKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr DisplayPlaneCapabilitiesKHR
-> DisplayPlaneCapabilitiesKHR -> IO ()
poke Ptr DisplayPlaneCapabilitiesKHR
ptr DisplayPlaneCapabilitiesKHR
poked = Ptr DisplayPlaneCapabilitiesKHR
-> DisplayPlaneCapabilitiesKHR -> IO () -> IO ()
forall b.
Ptr DisplayPlaneCapabilitiesKHR
-> DisplayPlaneCapabilitiesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DisplayPlaneCapabilitiesKHR
ptr DisplayPlaneCapabilitiesKHR
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero DisplayPlaneCapabilitiesKHR where
zero :: DisplayPlaneCapabilitiesKHR
zero = DisplayPlaneAlphaFlagsKHR
-> Offset2D
-> Offset2D
-> Extent2D
-> Extent2D
-> Offset2D
-> Offset2D
-> Extent2D
-> Extent2D
-> DisplayPlaneCapabilitiesKHR
DisplayPlaneCapabilitiesKHR
DisplayPlaneAlphaFlagsKHR
forall a. Zero a => a
zero
Offset2D
forall a. Zero a => a
zero
Offset2D
forall a. Zero a => a
zero
Extent2D
forall a. Zero a => a
zero
Extent2D
forall a. Zero a => a
zero
Offset2D
forall a. Zero a => a
zero
Offset2D
forall a. Zero a => a
zero
Extent2D
forall a. Zero a => a
zero
Extent2D
forall a. Zero a => a
zero
data DisplaySurfaceCreateInfoKHR (es :: [Type]) = DisplaySurfaceCreateInfoKHR
{
forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Chain es
next :: Chain es
,
forall (es :: [*]).
DisplaySurfaceCreateInfoKHR es -> DisplaySurfaceCreateFlagsKHR
flags :: DisplaySurfaceCreateFlagsKHR
,
forall (es :: [*]).
DisplaySurfaceCreateInfoKHR es -> DisplayModeKHR
displayMode :: DisplayModeKHR
,
forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Word32
planeIndex :: Word32
,
forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Word32
planeStackIndex :: Word32
,
forall (es :: [*]).
DisplaySurfaceCreateInfoKHR es -> SurfaceTransformFlagsKHR
transform :: SurfaceTransformFlagBitsKHR
,
forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Float
globalAlpha :: Float
,
forall (es :: [*]).
DisplaySurfaceCreateInfoKHR es -> DisplayPlaneAlphaFlagsKHR
alphaMode :: DisplayPlaneAlphaFlagBitsKHR
,
forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Extent2D
imageExtent :: Extent2D
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DisplaySurfaceCreateInfoKHR (es :: [Type]))
#endif
deriving instance Show (Chain es) => Show (DisplaySurfaceCreateInfoKHR es)
instance Extensible DisplaySurfaceCreateInfoKHR where
extensibleTypeName :: String
extensibleTypeName = String
"DisplaySurfaceCreateInfoKHR"
setNext :: forall (ds :: [*]) (es :: [*]).
DisplaySurfaceCreateInfoKHR ds
-> Chain es -> DisplaySurfaceCreateInfoKHR es
setNext DisplaySurfaceCreateInfoKHR{Float
Word32
Extent2D
DisplayModeKHR
Chain ds
SurfaceTransformFlagsKHR
DisplayPlaneAlphaFlagsKHR
DisplaySurfaceCreateFlagsKHR
next :: forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Chain es
flags :: forall (es :: [*]).
DisplaySurfaceCreateInfoKHR es -> DisplaySurfaceCreateFlagsKHR
displayMode :: forall (es :: [*]).
DisplaySurfaceCreateInfoKHR es -> DisplayModeKHR
planeIndex :: forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Word32
planeStackIndex :: forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Word32
transform :: forall (es :: [*]).
DisplaySurfaceCreateInfoKHR es -> SurfaceTransformFlagsKHR
globalAlpha :: forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Float
alphaMode :: forall (es :: [*]).
DisplaySurfaceCreateInfoKHR es -> DisplayPlaneAlphaFlagsKHR
imageExtent :: forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Extent2D
next :: Chain ds
flags :: DisplaySurfaceCreateFlagsKHR
displayMode :: DisplayModeKHR
planeIndex :: Word32
planeStackIndex :: Word32
transform :: SurfaceTransformFlagsKHR
globalAlpha :: Float
alphaMode :: DisplayPlaneAlphaFlagsKHR
imageExtent :: Extent2D
..} Chain es
next' = DisplaySurfaceCreateInfoKHR{next :: Chain es
next = Chain es
next', Float
Word32
Extent2D
DisplayModeKHR
SurfaceTransformFlagsKHR
DisplayPlaneAlphaFlagsKHR
DisplaySurfaceCreateFlagsKHR
flags :: DisplaySurfaceCreateFlagsKHR
displayMode :: DisplayModeKHR
planeIndex :: Word32
planeStackIndex :: Word32
transform :: SurfaceTransformFlagsKHR
globalAlpha :: Float
alphaMode :: DisplayPlaneAlphaFlagsKHR
imageExtent :: Extent2D
flags :: DisplaySurfaceCreateFlagsKHR
displayMode :: DisplayModeKHR
planeIndex :: Word32
planeStackIndex :: Word32
transform :: SurfaceTransformFlagsKHR
globalAlpha :: Float
alphaMode :: DisplayPlaneAlphaFlagsKHR
imageExtent :: Extent2D
..}
getNext :: forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Chain es
getNext DisplaySurfaceCreateInfoKHR{Float
Word32
Extent2D
DisplayModeKHR
Chain es
SurfaceTransformFlagsKHR
DisplayPlaneAlphaFlagsKHR
DisplaySurfaceCreateFlagsKHR
next :: forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Chain es
flags :: forall (es :: [*]).
DisplaySurfaceCreateInfoKHR es -> DisplaySurfaceCreateFlagsKHR
displayMode :: forall (es :: [*]).
DisplaySurfaceCreateInfoKHR es -> DisplayModeKHR
planeIndex :: forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Word32
planeStackIndex :: forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Word32
transform :: forall (es :: [*]).
DisplaySurfaceCreateInfoKHR es -> SurfaceTransformFlagsKHR
globalAlpha :: forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Float
alphaMode :: forall (es :: [*]).
DisplaySurfaceCreateInfoKHR es -> DisplayPlaneAlphaFlagsKHR
imageExtent :: forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Extent2D
next :: Chain es
flags :: DisplaySurfaceCreateFlagsKHR
displayMode :: DisplayModeKHR
planeIndex :: Word32
planeStackIndex :: Word32
transform :: SurfaceTransformFlagsKHR
globalAlpha :: Float
alphaMode :: DisplayPlaneAlphaFlagsKHR
imageExtent :: Extent2D
..} = Chain es
next
extends :: forall e b proxy. Typeable e => proxy e -> (Extends DisplaySurfaceCreateInfoKHR e => b) -> Maybe b
extends :: forall e b (proxy :: * -> *).
Typeable e =>
proxy e -> (Extends DisplaySurfaceCreateInfoKHR e => b) -> Maybe b
extends proxy e
_ Extends DisplaySurfaceCreateInfoKHR e => b
f
| Just e :~: DisplaySurfaceStereoCreateInfoNV
Refl <- forall {k} (a :: k) (b :: k).
(Typeable a, Typeable b) =>
Maybe (a :~: b)
forall a b. (Typeable a, Typeable b) => Maybe (a :~: b)
eqT @e @DisplaySurfaceStereoCreateInfoNV = b -> Maybe b
forall a. a -> Maybe a
Just b
Extends DisplaySurfaceCreateInfoKHR e => b
f
| Bool
otherwise = Maybe b
forall a. Maybe a
Nothing
instance ( Extendss DisplaySurfaceCreateInfoKHR es
, PokeChain es ) => ToCStruct (DisplaySurfaceCreateInfoKHR es) where
withCStruct :: forall b.
DisplaySurfaceCreateInfoKHR es
-> (Ptr (DisplaySurfaceCreateInfoKHR es) -> IO b) -> IO b
withCStruct DisplaySurfaceCreateInfoKHR es
x Ptr (DisplaySurfaceCreateInfoKHR es) -> IO b
f = Int -> (Ptr (DisplaySurfaceCreateInfoKHR es) -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
64 ((Ptr (DisplaySurfaceCreateInfoKHR es) -> IO b) -> IO b)
-> (Ptr (DisplaySurfaceCreateInfoKHR es) -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr (DisplaySurfaceCreateInfoKHR es)
p -> Ptr (DisplaySurfaceCreateInfoKHR es)
-> DisplaySurfaceCreateInfoKHR es -> IO b -> IO b
forall b.
Ptr (DisplaySurfaceCreateInfoKHR es)
-> DisplaySurfaceCreateInfoKHR es -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr (DisplaySurfaceCreateInfoKHR es)
p DisplaySurfaceCreateInfoKHR es
x (Ptr (DisplaySurfaceCreateInfoKHR es) -> IO b
f Ptr (DisplaySurfaceCreateInfoKHR es)
p)
pokeCStruct :: forall b.
Ptr (DisplaySurfaceCreateInfoKHR es)
-> DisplaySurfaceCreateInfoKHR es -> IO b -> IO b
pokeCStruct Ptr (DisplaySurfaceCreateInfoKHR es)
p DisplaySurfaceCreateInfoKHR{Float
Word32
Extent2D
DisplayModeKHR
Chain es
SurfaceTransformFlagsKHR
DisplayPlaneAlphaFlagsKHR
DisplaySurfaceCreateFlagsKHR
next :: forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Chain es
flags :: forall (es :: [*]).
DisplaySurfaceCreateInfoKHR es -> DisplaySurfaceCreateFlagsKHR
displayMode :: forall (es :: [*]).
DisplaySurfaceCreateInfoKHR es -> DisplayModeKHR
planeIndex :: forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Word32
planeStackIndex :: forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Word32
transform :: forall (es :: [*]).
DisplaySurfaceCreateInfoKHR es -> SurfaceTransformFlagsKHR
globalAlpha :: forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Float
alphaMode :: forall (es :: [*]).
DisplaySurfaceCreateInfoKHR es -> DisplayPlaneAlphaFlagsKHR
imageExtent :: forall (es :: [*]). DisplaySurfaceCreateInfoKHR es -> Extent2D
next :: Chain es
flags :: DisplaySurfaceCreateFlagsKHR
displayMode :: DisplayModeKHR
planeIndex :: Word32
planeStackIndex :: Word32
transform :: SurfaceTransformFlagsKHR
globalAlpha :: Float
alphaMode :: DisplayPlaneAlphaFlagsKHR
imageExtent :: Extent2D
..} IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DisplaySurfaceCreateInfoKHR es)
p Ptr (DisplaySurfaceCreateInfoKHR es) -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR)
pNext'' <- (Ptr (Chain es) -> Ptr ())
-> ContT b IO (Ptr (Chain es)) -> ContT b IO (Ptr ())
forall a b. (a -> b) -> ContT b IO a -> ContT b IO b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Ptr (Chain es) -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr (ContT b IO (Ptr (Chain es)) -> ContT b IO (Ptr ()))
-> (((Ptr (Chain es) -> IO b) -> IO b)
-> ContT b IO (Ptr (Chain es)))
-> ((Ptr (Chain es) -> IO b) -> IO b)
-> ContT b IO (Ptr ())
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr (Chain es))
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr ()))
-> ((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ Chain es -> (Ptr (Chain es) -> IO b) -> IO b
forall (es :: [*]) a.
PokeChain es =>
Chain es -> (Ptr (Chain es) -> IO a) -> IO a
forall a. Chain es -> (Ptr (Chain es) -> IO a) -> IO a
withChain (Chain es
next)
lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext''
lift $ poke ((p `plusPtr` 16 :: Ptr DisplaySurfaceCreateFlagsKHR)) (flags)
lift $ poke ((p `plusPtr` 24 :: Ptr DisplayModeKHR)) (displayMode)
lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (planeIndex)
lift $ poke ((p `plusPtr` 36 :: Ptr Word32)) (planeStackIndex)
lift $ poke ((p `plusPtr` 40 :: Ptr SurfaceTransformFlagBitsKHR)) (transform)
lift $ poke ((p `plusPtr` 44 :: Ptr CFloat)) (CFloat (globalAlpha))
lift $ poke ((p `plusPtr` 48 :: Ptr DisplayPlaneAlphaFlagBitsKHR)) (alphaMode)
lift $ poke ((p `plusPtr` 52 :: Ptr Extent2D)) (imageExtent)
lift $ f
cStructSize :: Int
cStructSize = Int
64
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr (DisplaySurfaceCreateInfoKHR es) -> IO b -> IO b
pokeZeroCStruct Ptr (DisplaySurfaceCreateInfoKHR es)
p IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DisplaySurfaceCreateInfoKHR es)
p Ptr (DisplaySurfaceCreateInfoKHR es) -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR)
pNext' <- (Ptr (Chain es) -> Ptr ())
-> ContT b IO (Ptr (Chain es)) -> ContT b IO (Ptr ())
forall a b. (a -> b) -> ContT b IO a -> ContT b IO b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Ptr (Chain es) -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr (ContT b IO (Ptr (Chain es)) -> ContT b IO (Ptr ()))
-> (((Ptr (Chain es) -> IO b) -> IO b)
-> ContT b IO (Ptr (Chain es)))
-> ((Ptr (Chain es) -> IO b) -> IO b)
-> ContT b IO (Ptr ())
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr (Chain es))
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr ()))
-> ((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ forall (es :: [*]) a.
PokeChain es =>
(Ptr (Chain es) -> IO a) -> IO a
withZeroChain @es
lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'
lift $ poke ((p `plusPtr` 24 :: Ptr DisplayModeKHR)) (zero)
lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (zero)
lift $ poke ((p `plusPtr` 36 :: Ptr Word32)) (zero)
lift $ poke ((p `plusPtr` 40 :: Ptr SurfaceTransformFlagBitsKHR)) (zero)
lift $ poke ((p `plusPtr` 44 :: Ptr CFloat)) (CFloat (zero))
lift $ poke ((p `plusPtr` 48 :: Ptr DisplayPlaneAlphaFlagBitsKHR)) (zero)
lift $ poke ((p `plusPtr` 52 :: Ptr Extent2D)) (zero)
lift $ f
instance ( Extendss DisplaySurfaceCreateInfoKHR es
, PeekChain es ) => FromCStruct (DisplaySurfaceCreateInfoKHR es) where
peekCStruct :: Ptr (DisplaySurfaceCreateInfoKHR es)
-> IO (DisplaySurfaceCreateInfoKHR es)
peekCStruct Ptr (DisplaySurfaceCreateInfoKHR es)
p = do
pNext <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr ()) ((Ptr (DisplaySurfaceCreateInfoKHR es)
p Ptr (DisplaySurfaceCreateInfoKHR es) -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ())))
next <- peekChain (castPtr pNext)
flags <- peek @DisplaySurfaceCreateFlagsKHR ((p `plusPtr` 16 :: Ptr DisplaySurfaceCreateFlagsKHR))
displayMode <- peek @DisplayModeKHR ((p `plusPtr` 24 :: Ptr DisplayModeKHR))
planeIndex <- peek @Word32 ((p `plusPtr` 32 :: Ptr Word32))
planeStackIndex <- peek @Word32 ((p `plusPtr` 36 :: Ptr Word32))
transform <- peek @SurfaceTransformFlagBitsKHR ((p `plusPtr` 40 :: Ptr SurfaceTransformFlagBitsKHR))
globalAlpha <- peek @CFloat ((p `plusPtr` 44 :: Ptr CFloat))
alphaMode <- peek @DisplayPlaneAlphaFlagBitsKHR ((p `plusPtr` 48 :: Ptr DisplayPlaneAlphaFlagBitsKHR))
imageExtent <- peekCStruct @Extent2D ((p `plusPtr` 52 :: Ptr Extent2D))
pure $ DisplaySurfaceCreateInfoKHR
next
flags
displayMode
planeIndex
planeStackIndex
transform
(coerce @CFloat @Float globalAlpha)
alphaMode
imageExtent
instance es ~ '[] => Zero (DisplaySurfaceCreateInfoKHR es) where
zero :: DisplaySurfaceCreateInfoKHR es
zero = Chain es
-> DisplaySurfaceCreateFlagsKHR
-> DisplayModeKHR
-> Word32
-> Word32
-> SurfaceTransformFlagsKHR
-> Float
-> DisplayPlaneAlphaFlagsKHR
-> Extent2D
-> DisplaySurfaceCreateInfoKHR es
forall (es :: [*]).
Chain es
-> DisplaySurfaceCreateFlagsKHR
-> DisplayModeKHR
-> Word32
-> Word32
-> SurfaceTransformFlagsKHR
-> Float
-> DisplayPlaneAlphaFlagsKHR
-> Extent2D
-> DisplaySurfaceCreateInfoKHR es
DisplaySurfaceCreateInfoKHR
()
DisplaySurfaceCreateFlagsKHR
forall a. Zero a => a
zero
DisplayModeKHR
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
SurfaceTransformFlagsKHR
forall a. Zero a => a
zero
Float
forall a. Zero a => a
zero
DisplayPlaneAlphaFlagsKHR
forall a. Zero a => a
zero
Extent2D
forall a. Zero a => a
zero
newtype DisplayModeCreateFlagsKHR = DisplayModeCreateFlagsKHR Flags
deriving newtype (DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool
(DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool)
-> (DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool)
-> Eq DisplayModeCreateFlagsKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool
== :: DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool
$c/= :: DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool
/= :: DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool
Eq, Eq DisplayModeCreateFlagsKHR
Eq DisplayModeCreateFlagsKHR =>
(DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> Ordering)
-> (DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool)
-> (DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool)
-> (DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool)
-> (DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool)
-> (DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR)
-> (DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR)
-> Ord DisplayModeCreateFlagsKHR
DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool
DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Ordering
DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR
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 :: DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Ordering
compare :: DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Ordering
$c< :: DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool
< :: DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool
$c<= :: DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool
<= :: DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool
$c> :: DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool
> :: DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool
$c>= :: DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool
>= :: DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> Bool
$cmax :: DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR
max :: DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR
$cmin :: DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR
min :: DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR
Ord, Ptr DisplayModeCreateFlagsKHR -> IO DisplayModeCreateFlagsKHR
Ptr DisplayModeCreateFlagsKHR
-> Int -> IO DisplayModeCreateFlagsKHR
Ptr DisplayModeCreateFlagsKHR
-> Int -> DisplayModeCreateFlagsKHR -> IO ()
Ptr DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> IO ()
DisplayModeCreateFlagsKHR -> Int
(DisplayModeCreateFlagsKHR -> Int)
-> (DisplayModeCreateFlagsKHR -> Int)
-> (Ptr DisplayModeCreateFlagsKHR
-> Int -> IO DisplayModeCreateFlagsKHR)
-> (Ptr DisplayModeCreateFlagsKHR
-> Int -> DisplayModeCreateFlagsKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO DisplayModeCreateFlagsKHR)
-> (forall b. Ptr b -> Int -> DisplayModeCreateFlagsKHR -> IO ())
-> (Ptr DisplayModeCreateFlagsKHR -> IO DisplayModeCreateFlagsKHR)
-> (Ptr DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> IO ())
-> Storable DisplayModeCreateFlagsKHR
forall b. Ptr b -> Int -> IO DisplayModeCreateFlagsKHR
forall b. Ptr b -> Int -> DisplayModeCreateFlagsKHR -> 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 :: DisplayModeCreateFlagsKHR -> Int
sizeOf :: DisplayModeCreateFlagsKHR -> Int
$calignment :: DisplayModeCreateFlagsKHR -> Int
alignment :: DisplayModeCreateFlagsKHR -> Int
$cpeekElemOff :: Ptr DisplayModeCreateFlagsKHR
-> Int -> IO DisplayModeCreateFlagsKHR
peekElemOff :: Ptr DisplayModeCreateFlagsKHR
-> Int -> IO DisplayModeCreateFlagsKHR
$cpokeElemOff :: Ptr DisplayModeCreateFlagsKHR
-> Int -> DisplayModeCreateFlagsKHR -> IO ()
pokeElemOff :: Ptr DisplayModeCreateFlagsKHR
-> Int -> DisplayModeCreateFlagsKHR -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DisplayModeCreateFlagsKHR
peekByteOff :: forall b. Ptr b -> Int -> IO DisplayModeCreateFlagsKHR
$cpokeByteOff :: forall b. Ptr b -> Int -> DisplayModeCreateFlagsKHR -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> DisplayModeCreateFlagsKHR -> IO ()
$cpeek :: Ptr DisplayModeCreateFlagsKHR -> IO DisplayModeCreateFlagsKHR
peek :: Ptr DisplayModeCreateFlagsKHR -> IO DisplayModeCreateFlagsKHR
$cpoke :: Ptr DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> IO ()
poke :: Ptr DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR -> IO ()
Storable, DisplayModeCreateFlagsKHR
DisplayModeCreateFlagsKHR -> Zero DisplayModeCreateFlagsKHR
forall a. a -> Zero a
$czero :: DisplayModeCreateFlagsKHR
zero :: DisplayModeCreateFlagsKHR
Zero, Eq DisplayModeCreateFlagsKHR
DisplayModeCreateFlagsKHR
Eq DisplayModeCreateFlagsKHR =>
(DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR)
-> (DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR)
-> (DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR)
-> (DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR)
-> (DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR)
-> (DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR)
-> DisplayModeCreateFlagsKHR
-> (Int -> DisplayModeCreateFlagsKHR)
-> (DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR)
-> (DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR)
-> (DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR)
-> (DisplayModeCreateFlagsKHR -> Int -> Bool)
-> (DisplayModeCreateFlagsKHR -> Maybe Int)
-> (DisplayModeCreateFlagsKHR -> Int)
-> (DisplayModeCreateFlagsKHR -> Bool)
-> (DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR)
-> (DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR)
-> (DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR)
-> (DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR)
-> (DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR)
-> (DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR)
-> (DisplayModeCreateFlagsKHR -> Int)
-> Bits DisplayModeCreateFlagsKHR
Int -> DisplayModeCreateFlagsKHR
DisplayModeCreateFlagsKHR -> Bool
DisplayModeCreateFlagsKHR -> Int
DisplayModeCreateFlagsKHR -> Maybe Int
DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR
DisplayModeCreateFlagsKHR -> Int -> Bool
DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR
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.&. :: DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR
.&. :: DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR
$c.|. :: DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR
.|. :: DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR
$cxor :: DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR
xor :: DisplayModeCreateFlagsKHR
-> DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR
$ccomplement :: DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR
complement :: DisplayModeCreateFlagsKHR -> DisplayModeCreateFlagsKHR
$cshift :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
shift :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
$crotate :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
rotate :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
$czeroBits :: DisplayModeCreateFlagsKHR
zeroBits :: DisplayModeCreateFlagsKHR
$cbit :: Int -> DisplayModeCreateFlagsKHR
bit :: Int -> DisplayModeCreateFlagsKHR
$csetBit :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
setBit :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
$cclearBit :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
clearBit :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
$ccomplementBit :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
complementBit :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
$ctestBit :: DisplayModeCreateFlagsKHR -> Int -> Bool
testBit :: DisplayModeCreateFlagsKHR -> Int -> Bool
$cbitSizeMaybe :: DisplayModeCreateFlagsKHR -> Maybe Int
bitSizeMaybe :: DisplayModeCreateFlagsKHR -> Maybe Int
$cbitSize :: DisplayModeCreateFlagsKHR -> Int
bitSize :: DisplayModeCreateFlagsKHR -> Int
$cisSigned :: DisplayModeCreateFlagsKHR -> Bool
isSigned :: DisplayModeCreateFlagsKHR -> Bool
$cshiftL :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
shiftL :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
$cunsafeShiftL :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
unsafeShiftL :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
$cshiftR :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
shiftR :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
$cunsafeShiftR :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
unsafeShiftR :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
$crotateL :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
rotateL :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
$crotateR :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
rotateR :: DisplayModeCreateFlagsKHR -> Int -> DisplayModeCreateFlagsKHR
$cpopCount :: DisplayModeCreateFlagsKHR -> Int
popCount :: DisplayModeCreateFlagsKHR -> Int
Bits, Bits DisplayModeCreateFlagsKHR
Bits DisplayModeCreateFlagsKHR =>
(DisplayModeCreateFlagsKHR -> Int)
-> (DisplayModeCreateFlagsKHR -> Int)
-> (DisplayModeCreateFlagsKHR -> Int)
-> FiniteBits DisplayModeCreateFlagsKHR
DisplayModeCreateFlagsKHR -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: DisplayModeCreateFlagsKHR -> Int
finiteBitSize :: DisplayModeCreateFlagsKHR -> Int
$ccountLeadingZeros :: DisplayModeCreateFlagsKHR -> Int
countLeadingZeros :: DisplayModeCreateFlagsKHR -> Int
$ccountTrailingZeros :: DisplayModeCreateFlagsKHR -> Int
countTrailingZeros :: DisplayModeCreateFlagsKHR -> Int
FiniteBits)
conNameDisplayModeCreateFlagsKHR :: String
conNameDisplayModeCreateFlagsKHR :: String
conNameDisplayModeCreateFlagsKHR = String
"DisplayModeCreateFlagsKHR"
enumPrefixDisplayModeCreateFlagsKHR :: String
enumPrefixDisplayModeCreateFlagsKHR :: String
enumPrefixDisplayModeCreateFlagsKHR = String
""
showTableDisplayModeCreateFlagsKHR :: [(DisplayModeCreateFlagsKHR, String)]
showTableDisplayModeCreateFlagsKHR :: [(DisplayModeCreateFlagsKHR, String)]
showTableDisplayModeCreateFlagsKHR = []
instance Show DisplayModeCreateFlagsKHR where
showsPrec :: Int -> DisplayModeCreateFlagsKHR -> ShowS
showsPrec =
String
-> [(DisplayModeCreateFlagsKHR, String)]
-> String
-> (DisplayModeCreateFlagsKHR -> Word32)
-> (Word32 -> ShowS)
-> Int
-> DisplayModeCreateFlagsKHR
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixDisplayModeCreateFlagsKHR
[(DisplayModeCreateFlagsKHR, String)]
showTableDisplayModeCreateFlagsKHR
String
conNameDisplayModeCreateFlagsKHR
(\(DisplayModeCreateFlagsKHR Word32
x) -> Word32
x)
(\Word32
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> ShowS
forall a. Integral a => a -> ShowS
showHex Word32
x)
instance Read DisplayModeCreateFlagsKHR where
readPrec :: ReadPrec DisplayModeCreateFlagsKHR
readPrec =
String
-> [(DisplayModeCreateFlagsKHR, String)]
-> String
-> (Word32 -> DisplayModeCreateFlagsKHR)
-> ReadPrec DisplayModeCreateFlagsKHR
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixDisplayModeCreateFlagsKHR
[(DisplayModeCreateFlagsKHR, String)]
showTableDisplayModeCreateFlagsKHR
String
conNameDisplayModeCreateFlagsKHR
Word32 -> DisplayModeCreateFlagsKHR
DisplayModeCreateFlagsKHR
newtype DisplaySurfaceCreateFlagsKHR = DisplaySurfaceCreateFlagsKHR Flags
deriving newtype (DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool
(DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool)
-> (DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool)
-> Eq DisplaySurfaceCreateFlagsKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool
== :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool
$c/= :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool
/= :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool
Eq, Eq DisplaySurfaceCreateFlagsKHR
Eq DisplaySurfaceCreateFlagsKHR =>
(DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Ordering)
-> (DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool)
-> (DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool)
-> (DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool)
-> (DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool)
-> (DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR)
-> (DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR)
-> Ord DisplaySurfaceCreateFlagsKHR
DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool
DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Ordering
DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR
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 :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Ordering
compare :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Ordering
$c< :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool
< :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool
$c<= :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool
<= :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool
$c> :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool
> :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool
$c>= :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool
>= :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> Bool
$cmax :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR
max :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR
$cmin :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR
min :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR
Ord, Ptr DisplaySurfaceCreateFlagsKHR -> IO DisplaySurfaceCreateFlagsKHR
Ptr DisplaySurfaceCreateFlagsKHR
-> Int -> IO DisplaySurfaceCreateFlagsKHR
Ptr DisplaySurfaceCreateFlagsKHR
-> Int -> DisplaySurfaceCreateFlagsKHR -> IO ()
Ptr DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> IO ()
DisplaySurfaceCreateFlagsKHR -> Int
(DisplaySurfaceCreateFlagsKHR -> Int)
-> (DisplaySurfaceCreateFlagsKHR -> Int)
-> (Ptr DisplaySurfaceCreateFlagsKHR
-> Int -> IO DisplaySurfaceCreateFlagsKHR)
-> (Ptr DisplaySurfaceCreateFlagsKHR
-> Int -> DisplaySurfaceCreateFlagsKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO DisplaySurfaceCreateFlagsKHR)
-> (forall b.
Ptr b -> Int -> DisplaySurfaceCreateFlagsKHR -> IO ())
-> (Ptr DisplaySurfaceCreateFlagsKHR
-> IO DisplaySurfaceCreateFlagsKHR)
-> (Ptr DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> IO ())
-> Storable DisplaySurfaceCreateFlagsKHR
forall b. Ptr b -> Int -> IO DisplaySurfaceCreateFlagsKHR
forall b. Ptr b -> Int -> DisplaySurfaceCreateFlagsKHR -> 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 :: DisplaySurfaceCreateFlagsKHR -> Int
sizeOf :: DisplaySurfaceCreateFlagsKHR -> Int
$calignment :: DisplaySurfaceCreateFlagsKHR -> Int
alignment :: DisplaySurfaceCreateFlagsKHR -> Int
$cpeekElemOff :: Ptr DisplaySurfaceCreateFlagsKHR
-> Int -> IO DisplaySurfaceCreateFlagsKHR
peekElemOff :: Ptr DisplaySurfaceCreateFlagsKHR
-> Int -> IO DisplaySurfaceCreateFlagsKHR
$cpokeElemOff :: Ptr DisplaySurfaceCreateFlagsKHR
-> Int -> DisplaySurfaceCreateFlagsKHR -> IO ()
pokeElemOff :: Ptr DisplaySurfaceCreateFlagsKHR
-> Int -> DisplaySurfaceCreateFlagsKHR -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DisplaySurfaceCreateFlagsKHR
peekByteOff :: forall b. Ptr b -> Int -> IO DisplaySurfaceCreateFlagsKHR
$cpokeByteOff :: forall b. Ptr b -> Int -> DisplaySurfaceCreateFlagsKHR -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> DisplaySurfaceCreateFlagsKHR -> IO ()
$cpeek :: Ptr DisplaySurfaceCreateFlagsKHR -> IO DisplaySurfaceCreateFlagsKHR
peek :: Ptr DisplaySurfaceCreateFlagsKHR -> IO DisplaySurfaceCreateFlagsKHR
$cpoke :: Ptr DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> IO ()
poke :: Ptr DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> IO ()
Storable, DisplaySurfaceCreateFlagsKHR
DisplaySurfaceCreateFlagsKHR -> Zero DisplaySurfaceCreateFlagsKHR
forall a. a -> Zero a
$czero :: DisplaySurfaceCreateFlagsKHR
zero :: DisplaySurfaceCreateFlagsKHR
Zero, Eq DisplaySurfaceCreateFlagsKHR
DisplaySurfaceCreateFlagsKHR
Eq DisplaySurfaceCreateFlagsKHR =>
(DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR)
-> (DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR)
-> (DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR)
-> (DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR)
-> (DisplaySurfaceCreateFlagsKHR
-> Int -> DisplaySurfaceCreateFlagsKHR)
-> (DisplaySurfaceCreateFlagsKHR
-> Int -> DisplaySurfaceCreateFlagsKHR)
-> DisplaySurfaceCreateFlagsKHR
-> (Int -> DisplaySurfaceCreateFlagsKHR)
-> (DisplaySurfaceCreateFlagsKHR
-> Int -> DisplaySurfaceCreateFlagsKHR)
-> (DisplaySurfaceCreateFlagsKHR
-> Int -> DisplaySurfaceCreateFlagsKHR)
-> (DisplaySurfaceCreateFlagsKHR
-> Int -> DisplaySurfaceCreateFlagsKHR)
-> (DisplaySurfaceCreateFlagsKHR -> Int -> Bool)
-> (DisplaySurfaceCreateFlagsKHR -> Maybe Int)
-> (DisplaySurfaceCreateFlagsKHR -> Int)
-> (DisplaySurfaceCreateFlagsKHR -> Bool)
-> (DisplaySurfaceCreateFlagsKHR
-> Int -> DisplaySurfaceCreateFlagsKHR)
-> (DisplaySurfaceCreateFlagsKHR
-> Int -> DisplaySurfaceCreateFlagsKHR)
-> (DisplaySurfaceCreateFlagsKHR
-> Int -> DisplaySurfaceCreateFlagsKHR)
-> (DisplaySurfaceCreateFlagsKHR
-> Int -> DisplaySurfaceCreateFlagsKHR)
-> (DisplaySurfaceCreateFlagsKHR
-> Int -> DisplaySurfaceCreateFlagsKHR)
-> (DisplaySurfaceCreateFlagsKHR
-> Int -> DisplaySurfaceCreateFlagsKHR)
-> (DisplaySurfaceCreateFlagsKHR -> Int)
-> Bits DisplaySurfaceCreateFlagsKHR
Int -> DisplaySurfaceCreateFlagsKHR
DisplaySurfaceCreateFlagsKHR -> Bool
DisplaySurfaceCreateFlagsKHR -> Int
DisplaySurfaceCreateFlagsKHR -> Maybe Int
DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR
DisplaySurfaceCreateFlagsKHR -> Int -> Bool
DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR
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.&. :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR
.&. :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR
$c.|. :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR
.|. :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR
$cxor :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR
xor :: DisplaySurfaceCreateFlagsKHR
-> DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR
$ccomplement :: DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR
complement :: DisplaySurfaceCreateFlagsKHR -> DisplaySurfaceCreateFlagsKHR
$cshift :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
shift :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
$crotate :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
rotate :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
$czeroBits :: DisplaySurfaceCreateFlagsKHR
zeroBits :: DisplaySurfaceCreateFlagsKHR
$cbit :: Int -> DisplaySurfaceCreateFlagsKHR
bit :: Int -> DisplaySurfaceCreateFlagsKHR
$csetBit :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
setBit :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
$cclearBit :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
clearBit :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
$ccomplementBit :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
complementBit :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
$ctestBit :: DisplaySurfaceCreateFlagsKHR -> Int -> Bool
testBit :: DisplaySurfaceCreateFlagsKHR -> Int -> Bool
$cbitSizeMaybe :: DisplaySurfaceCreateFlagsKHR -> Maybe Int
bitSizeMaybe :: DisplaySurfaceCreateFlagsKHR -> Maybe Int
$cbitSize :: DisplaySurfaceCreateFlagsKHR -> Int
bitSize :: DisplaySurfaceCreateFlagsKHR -> Int
$cisSigned :: DisplaySurfaceCreateFlagsKHR -> Bool
isSigned :: DisplaySurfaceCreateFlagsKHR -> Bool
$cshiftL :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
shiftL :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
$cunsafeShiftL :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
unsafeShiftL :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
$cshiftR :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
shiftR :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
$cunsafeShiftR :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
unsafeShiftR :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
$crotateL :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
rotateL :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
$crotateR :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
rotateR :: DisplaySurfaceCreateFlagsKHR -> Int -> DisplaySurfaceCreateFlagsKHR
$cpopCount :: DisplaySurfaceCreateFlagsKHR -> Int
popCount :: DisplaySurfaceCreateFlagsKHR -> Int
Bits, Bits DisplaySurfaceCreateFlagsKHR
Bits DisplaySurfaceCreateFlagsKHR =>
(DisplaySurfaceCreateFlagsKHR -> Int)
-> (DisplaySurfaceCreateFlagsKHR -> Int)
-> (DisplaySurfaceCreateFlagsKHR -> Int)
-> FiniteBits DisplaySurfaceCreateFlagsKHR
DisplaySurfaceCreateFlagsKHR -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: DisplaySurfaceCreateFlagsKHR -> Int
finiteBitSize :: DisplaySurfaceCreateFlagsKHR -> Int
$ccountLeadingZeros :: DisplaySurfaceCreateFlagsKHR -> Int
countLeadingZeros :: DisplaySurfaceCreateFlagsKHR -> Int
$ccountTrailingZeros :: DisplaySurfaceCreateFlagsKHR -> Int
countTrailingZeros :: DisplaySurfaceCreateFlagsKHR -> Int
FiniteBits)
conNameDisplaySurfaceCreateFlagsKHR :: String
conNameDisplaySurfaceCreateFlagsKHR :: String
conNameDisplaySurfaceCreateFlagsKHR = String
"DisplaySurfaceCreateFlagsKHR"
enumPrefixDisplaySurfaceCreateFlagsKHR :: String
enumPrefixDisplaySurfaceCreateFlagsKHR :: String
enumPrefixDisplaySurfaceCreateFlagsKHR = String
""
showTableDisplaySurfaceCreateFlagsKHR :: [(DisplaySurfaceCreateFlagsKHR, String)]
showTableDisplaySurfaceCreateFlagsKHR :: [(DisplaySurfaceCreateFlagsKHR, String)]
showTableDisplaySurfaceCreateFlagsKHR = []
instance Show DisplaySurfaceCreateFlagsKHR where
showsPrec :: Int -> DisplaySurfaceCreateFlagsKHR -> ShowS
showsPrec =
String
-> [(DisplaySurfaceCreateFlagsKHR, String)]
-> String
-> (DisplaySurfaceCreateFlagsKHR -> Word32)
-> (Word32 -> ShowS)
-> Int
-> DisplaySurfaceCreateFlagsKHR
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixDisplaySurfaceCreateFlagsKHR
[(DisplaySurfaceCreateFlagsKHR, String)]
showTableDisplaySurfaceCreateFlagsKHR
String
conNameDisplaySurfaceCreateFlagsKHR
(\(DisplaySurfaceCreateFlagsKHR Word32
x) -> Word32
x)
(\Word32
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> ShowS
forall a. Integral a => a -> ShowS
showHex Word32
x)
instance Read DisplaySurfaceCreateFlagsKHR where
readPrec :: ReadPrec DisplaySurfaceCreateFlagsKHR
readPrec =
String
-> [(DisplaySurfaceCreateFlagsKHR, String)]
-> String
-> (Word32 -> DisplaySurfaceCreateFlagsKHR)
-> ReadPrec DisplaySurfaceCreateFlagsKHR
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixDisplaySurfaceCreateFlagsKHR
[(DisplaySurfaceCreateFlagsKHR, String)]
showTableDisplaySurfaceCreateFlagsKHR
String
conNameDisplaySurfaceCreateFlagsKHR
Word32 -> DisplaySurfaceCreateFlagsKHR
DisplaySurfaceCreateFlagsKHR
type DisplayPlaneAlphaFlagsKHR = DisplayPlaneAlphaFlagBitsKHR
newtype DisplayPlaneAlphaFlagBitsKHR = DisplayPlaneAlphaFlagBitsKHR Flags
deriving newtype (DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool
(DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool)
-> (DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool)
-> Eq DisplayPlaneAlphaFlagsKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool
== :: DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool
$c/= :: DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool
/= :: DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool
Eq, Eq DisplayPlaneAlphaFlagsKHR
Eq DisplayPlaneAlphaFlagsKHR =>
(DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> Ordering)
-> (DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool)
-> (DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool)
-> (DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool)
-> (DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool)
-> (DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR)
-> (DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR)
-> Ord DisplayPlaneAlphaFlagsKHR
DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool
DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Ordering
DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR
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 :: DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Ordering
compare :: DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Ordering
$c< :: DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool
< :: DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool
$c<= :: DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool
<= :: DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool
$c> :: DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool
> :: DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool
$c>= :: DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool
>= :: DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> Bool
$cmax :: DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR
max :: DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR
$cmin :: DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR
min :: DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR
Ord, Ptr DisplayPlaneAlphaFlagsKHR -> IO DisplayPlaneAlphaFlagsKHR
Ptr DisplayPlaneAlphaFlagsKHR
-> Int -> IO DisplayPlaneAlphaFlagsKHR
Ptr DisplayPlaneAlphaFlagsKHR
-> Int -> DisplayPlaneAlphaFlagsKHR -> IO ()
Ptr DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> IO ()
DisplayPlaneAlphaFlagsKHR -> Int
(DisplayPlaneAlphaFlagsKHR -> Int)
-> (DisplayPlaneAlphaFlagsKHR -> Int)
-> (Ptr DisplayPlaneAlphaFlagsKHR
-> Int -> IO DisplayPlaneAlphaFlagsKHR)
-> (Ptr DisplayPlaneAlphaFlagsKHR
-> Int -> DisplayPlaneAlphaFlagsKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO DisplayPlaneAlphaFlagsKHR)
-> (forall b. Ptr b -> Int -> DisplayPlaneAlphaFlagsKHR -> IO ())
-> (Ptr DisplayPlaneAlphaFlagsKHR -> IO DisplayPlaneAlphaFlagsKHR)
-> (Ptr DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> IO ())
-> Storable DisplayPlaneAlphaFlagsKHR
forall b. Ptr b -> Int -> IO DisplayPlaneAlphaFlagsKHR
forall b. Ptr b -> Int -> DisplayPlaneAlphaFlagsKHR -> 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 :: DisplayPlaneAlphaFlagsKHR -> Int
sizeOf :: DisplayPlaneAlphaFlagsKHR -> Int
$calignment :: DisplayPlaneAlphaFlagsKHR -> Int
alignment :: DisplayPlaneAlphaFlagsKHR -> Int
$cpeekElemOff :: Ptr DisplayPlaneAlphaFlagsKHR
-> Int -> IO DisplayPlaneAlphaFlagsKHR
peekElemOff :: Ptr DisplayPlaneAlphaFlagsKHR
-> Int -> IO DisplayPlaneAlphaFlagsKHR
$cpokeElemOff :: Ptr DisplayPlaneAlphaFlagsKHR
-> Int -> DisplayPlaneAlphaFlagsKHR -> IO ()
pokeElemOff :: Ptr DisplayPlaneAlphaFlagsKHR
-> Int -> DisplayPlaneAlphaFlagsKHR -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DisplayPlaneAlphaFlagsKHR
peekByteOff :: forall b. Ptr b -> Int -> IO DisplayPlaneAlphaFlagsKHR
$cpokeByteOff :: forall b. Ptr b -> Int -> DisplayPlaneAlphaFlagsKHR -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> DisplayPlaneAlphaFlagsKHR -> IO ()
$cpeek :: Ptr DisplayPlaneAlphaFlagsKHR -> IO DisplayPlaneAlphaFlagsKHR
peek :: Ptr DisplayPlaneAlphaFlagsKHR -> IO DisplayPlaneAlphaFlagsKHR
$cpoke :: Ptr DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> IO ()
poke :: Ptr DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR -> IO ()
Storable, DisplayPlaneAlphaFlagsKHR
DisplayPlaneAlphaFlagsKHR -> Zero DisplayPlaneAlphaFlagsKHR
forall a. a -> Zero a
$czero :: DisplayPlaneAlphaFlagsKHR
zero :: DisplayPlaneAlphaFlagsKHR
Zero, Eq DisplayPlaneAlphaFlagsKHR
DisplayPlaneAlphaFlagsKHR
Eq DisplayPlaneAlphaFlagsKHR =>
(DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR)
-> (DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR)
-> (DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR)
-> (DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR)
-> (DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR)
-> (DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR)
-> DisplayPlaneAlphaFlagsKHR
-> (Int -> DisplayPlaneAlphaFlagsKHR)
-> (DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR)
-> (DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR)
-> (DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR)
-> (DisplayPlaneAlphaFlagsKHR -> Int -> Bool)
-> (DisplayPlaneAlphaFlagsKHR -> Maybe Int)
-> (DisplayPlaneAlphaFlagsKHR -> Int)
-> (DisplayPlaneAlphaFlagsKHR -> Bool)
-> (DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR)
-> (DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR)
-> (DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR)
-> (DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR)
-> (DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR)
-> (DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR)
-> (DisplayPlaneAlphaFlagsKHR -> Int)
-> Bits DisplayPlaneAlphaFlagsKHR
Int -> DisplayPlaneAlphaFlagsKHR
DisplayPlaneAlphaFlagsKHR -> Bool
DisplayPlaneAlphaFlagsKHR -> Int
DisplayPlaneAlphaFlagsKHR -> Maybe Int
DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR
DisplayPlaneAlphaFlagsKHR -> Int -> Bool
DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR
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.&. :: DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR
.&. :: DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR
$c.|. :: DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR
.|. :: DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR
$cxor :: DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR
xor :: DisplayPlaneAlphaFlagsKHR
-> DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR
$ccomplement :: DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR
complement :: DisplayPlaneAlphaFlagsKHR -> DisplayPlaneAlphaFlagsKHR
$cshift :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
shift :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
$crotate :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
rotate :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
$czeroBits :: DisplayPlaneAlphaFlagsKHR
zeroBits :: DisplayPlaneAlphaFlagsKHR
$cbit :: Int -> DisplayPlaneAlphaFlagsKHR
bit :: Int -> DisplayPlaneAlphaFlagsKHR
$csetBit :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
setBit :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
$cclearBit :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
clearBit :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
$ccomplementBit :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
complementBit :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
$ctestBit :: DisplayPlaneAlphaFlagsKHR -> Int -> Bool
testBit :: DisplayPlaneAlphaFlagsKHR -> Int -> Bool
$cbitSizeMaybe :: DisplayPlaneAlphaFlagsKHR -> Maybe Int
bitSizeMaybe :: DisplayPlaneAlphaFlagsKHR -> Maybe Int
$cbitSize :: DisplayPlaneAlphaFlagsKHR -> Int
bitSize :: DisplayPlaneAlphaFlagsKHR -> Int
$cisSigned :: DisplayPlaneAlphaFlagsKHR -> Bool
isSigned :: DisplayPlaneAlphaFlagsKHR -> Bool
$cshiftL :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
shiftL :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
$cunsafeShiftL :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
unsafeShiftL :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
$cshiftR :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
shiftR :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
$cunsafeShiftR :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
unsafeShiftR :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
$crotateL :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
rotateL :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
$crotateR :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
rotateR :: DisplayPlaneAlphaFlagsKHR -> Int -> DisplayPlaneAlphaFlagsKHR
$cpopCount :: DisplayPlaneAlphaFlagsKHR -> Int
popCount :: DisplayPlaneAlphaFlagsKHR -> Int
Bits, Bits DisplayPlaneAlphaFlagsKHR
Bits DisplayPlaneAlphaFlagsKHR =>
(DisplayPlaneAlphaFlagsKHR -> Int)
-> (DisplayPlaneAlphaFlagsKHR -> Int)
-> (DisplayPlaneAlphaFlagsKHR -> Int)
-> FiniteBits DisplayPlaneAlphaFlagsKHR
DisplayPlaneAlphaFlagsKHR -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: DisplayPlaneAlphaFlagsKHR -> Int
finiteBitSize :: DisplayPlaneAlphaFlagsKHR -> Int
$ccountLeadingZeros :: DisplayPlaneAlphaFlagsKHR -> Int
countLeadingZeros :: DisplayPlaneAlphaFlagsKHR -> Int
$ccountTrailingZeros :: DisplayPlaneAlphaFlagsKHR -> Int
countTrailingZeros :: DisplayPlaneAlphaFlagsKHR -> Int
FiniteBits)
pattern $mDISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR :: forall {r}.
DisplayPlaneAlphaFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
$bDISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR :: DisplayPlaneAlphaFlagsKHR
DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = DisplayPlaneAlphaFlagBitsKHR 0x00000001
pattern $mDISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR :: forall {r}.
DisplayPlaneAlphaFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
$bDISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR :: DisplayPlaneAlphaFlagsKHR
DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = DisplayPlaneAlphaFlagBitsKHR 0x00000002
pattern $mDISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR :: forall {r}.
DisplayPlaneAlphaFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
$bDISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR :: DisplayPlaneAlphaFlagsKHR
DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = DisplayPlaneAlphaFlagBitsKHR 0x00000004
pattern $mDISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR :: forall {r}.
DisplayPlaneAlphaFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
$bDISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR :: DisplayPlaneAlphaFlagsKHR
DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = DisplayPlaneAlphaFlagBitsKHR 0x00000008
conNameDisplayPlaneAlphaFlagBitsKHR :: String
conNameDisplayPlaneAlphaFlagBitsKHR :: String
conNameDisplayPlaneAlphaFlagBitsKHR = String
"DisplayPlaneAlphaFlagBitsKHR"
enumPrefixDisplayPlaneAlphaFlagBitsKHR :: String
enumPrefixDisplayPlaneAlphaFlagBitsKHR :: String
enumPrefixDisplayPlaneAlphaFlagBitsKHR = String
"DISPLAY_PLANE_ALPHA_"
showTableDisplayPlaneAlphaFlagBitsKHR :: [(DisplayPlaneAlphaFlagBitsKHR, String)]
showTableDisplayPlaneAlphaFlagBitsKHR :: [(DisplayPlaneAlphaFlagsKHR, String)]
showTableDisplayPlaneAlphaFlagBitsKHR =
[
( DisplayPlaneAlphaFlagsKHR
DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR
, String
"OPAQUE_BIT_KHR"
)
,
( DisplayPlaneAlphaFlagsKHR
DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR
, String
"GLOBAL_BIT_KHR"
)
,
( DisplayPlaneAlphaFlagsKHR
DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR
, String
"PER_PIXEL_BIT_KHR"
)
,
( DisplayPlaneAlphaFlagsKHR
DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR
, String
"PER_PIXEL_PREMULTIPLIED_BIT_KHR"
)
]
instance Show DisplayPlaneAlphaFlagBitsKHR where
showsPrec :: Int -> DisplayPlaneAlphaFlagsKHR -> ShowS
showsPrec =
String
-> [(DisplayPlaneAlphaFlagsKHR, String)]
-> String
-> (DisplayPlaneAlphaFlagsKHR -> Word32)
-> (Word32 -> ShowS)
-> Int
-> DisplayPlaneAlphaFlagsKHR
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixDisplayPlaneAlphaFlagBitsKHR
[(DisplayPlaneAlphaFlagsKHR, String)]
showTableDisplayPlaneAlphaFlagBitsKHR
String
conNameDisplayPlaneAlphaFlagBitsKHR
(\(DisplayPlaneAlphaFlagBitsKHR Word32
x) -> Word32
x)
(\Word32
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> ShowS
forall a. Integral a => a -> ShowS
showHex Word32
x)
instance Read DisplayPlaneAlphaFlagBitsKHR where
readPrec :: ReadPrec DisplayPlaneAlphaFlagsKHR
readPrec =
String
-> [(DisplayPlaneAlphaFlagsKHR, String)]
-> String
-> (Word32 -> DisplayPlaneAlphaFlagsKHR)
-> ReadPrec DisplayPlaneAlphaFlagsKHR
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixDisplayPlaneAlphaFlagBitsKHR
[(DisplayPlaneAlphaFlagsKHR, String)]
showTableDisplayPlaneAlphaFlagBitsKHR
String
conNameDisplayPlaneAlphaFlagBitsKHR
Word32 -> DisplayPlaneAlphaFlagsKHR
DisplayPlaneAlphaFlagBitsKHR
type KHR_DISPLAY_SPEC_VERSION = 23
pattern KHR_DISPLAY_SPEC_VERSION :: forall a . Integral a => a
pattern $mKHR_DISPLAY_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bKHR_DISPLAY_SPEC_VERSION :: forall a. Integral a => a
KHR_DISPLAY_SPEC_VERSION = 23
type KHR_DISPLAY_EXTENSION_NAME = "VK_KHR_display"
pattern KHR_DISPLAY_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $mKHR_DISPLAY_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bKHR_DISPLAY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
KHR_DISPLAY_EXTENSION_NAME = "VK_KHR_display"