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