{-# language CPP #-}
module Vulkan.Extensions.VK_KHR_surface ( destroySurfaceKHR
, getPhysicalDeviceSurfaceSupportKHR
, getPhysicalDeviceSurfaceCapabilitiesKHR
, getPhysicalDeviceSurfaceFormatsKHR
, getPhysicalDeviceSurfacePresentModesKHR
, pattern COLORSPACE_SRGB_NONLINEAR_KHR
, SurfaceCapabilitiesKHR(..)
, SurfaceFormatKHR(..)
, PresentModeKHR( PRESENT_MODE_IMMEDIATE_KHR
, PRESENT_MODE_MAILBOX_KHR
, PRESENT_MODE_FIFO_KHR
, PRESENT_MODE_FIFO_RELAXED_KHR
, PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
, PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR
, ..
)
, ColorSpaceKHR( COLOR_SPACE_SRGB_NONLINEAR_KHR
, COLOR_SPACE_DISPLAY_NATIVE_AMD
, COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT
, COLOR_SPACE_PASS_THROUGH_EXT
, COLOR_SPACE_ADOBERGB_NONLINEAR_EXT
, COLOR_SPACE_ADOBERGB_LINEAR_EXT
, COLOR_SPACE_HDR10_HLG_EXT
, COLOR_SPACE_DOLBYVISION_EXT
, COLOR_SPACE_HDR10_ST2084_EXT
, COLOR_SPACE_BT2020_LINEAR_EXT
, COLOR_SPACE_BT709_NONLINEAR_EXT
, COLOR_SPACE_BT709_LINEAR_EXT
, COLOR_SPACE_DCI_P3_NONLINEAR_EXT
, COLOR_SPACE_DISPLAY_P3_LINEAR_EXT
, COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT
, COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT
, ..
)
, CompositeAlphaFlagsKHR
, CompositeAlphaFlagBitsKHR( COMPOSITE_ALPHA_OPAQUE_BIT_KHR
, COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR
, COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR
, COMPOSITE_ALPHA_INHERIT_BIT_KHR
, ..
)
, SurfaceTransformFlagsKHR
, SurfaceTransformFlagBitsKHR( SURFACE_TRANSFORM_IDENTITY_BIT_KHR
, SURFACE_TRANSFORM_ROTATE_90_BIT_KHR
, SURFACE_TRANSFORM_ROTATE_180_BIT_KHR
, SURFACE_TRANSFORM_ROTATE_270_BIT_KHR
, SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR
, SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR
, SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR
, SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR
, SURFACE_TRANSFORM_INHERIT_BIT_KHR
, ..
)
, KHR_SURFACE_SPEC_VERSION
, pattern KHR_SURFACE_SPEC_VERSION
, KHR_SURFACE_EXTENSION_NAME
, pattern KHR_SURFACE_EXTENSION_NAME
, SurfaceKHR(..)
) where
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import Vulkan.Internal.Utils (traceAroundEvent)
import Control.Exception.Base (bracket)
import Control.Monad (unless)
import Control.Monad.IO.Class (liftIO)
import 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 GHC.Show (showsPrec)
import Numeric (showHex)
import Control.Monad.Trans.Class (lift)
import Control.Monad.Trans.Cont (evalContT)
import Data.Vector (generateM)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero)
import Vulkan.Zero (Zero(..))
import Control.Monad.IO.Class (MonadIO)
import Data.String (IsString)
import Data.Typeable (Typeable)
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.Generics (Generic)
import GHC.IO.Exception (IOErrorType(..))
import GHC.IO.Exception (IOException(..))
import Data.Int (Int32)
import Foreign.Ptr (FunPtr)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Word (Word32)
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.NamedType ((:::))
import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Core10.FundamentalTypes (Bool32(..))
import Vulkan.Core10.FundamentalTypes (Extent2D)
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Core10.Enums.Format (Format)
import Vulkan.Core10.Enums.ImageUsageFlagBits (ImageUsageFlags)
import Vulkan.Core10.Handles (Instance)
import Vulkan.Core10.Handles (Instance(..))
import Vulkan.Core10.Handles (Instance(Instance))
import Vulkan.Dynamic (InstanceCmds(pVkDestroySurfaceKHR))
import Vulkan.Dynamic (InstanceCmds(pVkGetPhysicalDeviceSurfaceCapabilitiesKHR))
import Vulkan.Dynamic (InstanceCmds(pVkGetPhysicalDeviceSurfaceFormatsKHR))
import Vulkan.Dynamic (InstanceCmds(pVkGetPhysicalDeviceSurfacePresentModesKHR))
import Vulkan.Dynamic (InstanceCmds(pVkGetPhysicalDeviceSurfaceSupportKHR))
import Vulkan.Core10.Handles (Instance_T)
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.Extensions.Handles (SurfaceKHR)
import Vulkan.Extensions.Handles (SurfaceKHR(..))
import Vulkan.Exception (VulkanException(..))
import Vulkan.Core10.Enums.Result (Result(SUCCESS))
import Vulkan.Extensions.Handles (SurfaceKHR(..))
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkDestroySurfaceKHR
:: FunPtr (Ptr Instance_T -> SurfaceKHR -> Ptr AllocationCallbacks -> IO ()) -> Ptr Instance_T -> SurfaceKHR -> Ptr AllocationCallbacks -> IO ()
destroySurfaceKHR :: forall io
. (MonadIO io)
=>
Instance
->
SurfaceKHR
->
("allocator" ::: Maybe AllocationCallbacks)
-> io ()
destroySurfaceKHR :: forall (io :: * -> *).
MonadIO io =>
Instance
-> SurfaceKHR
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io ()
destroySurfaceKHR Instance
instance' SurfaceKHR
surface "allocator" ::: Maybe AllocationCallbacks
allocator = IO () -> io ()
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> io ())
-> (ContT () IO () -> IO ()) -> ContT () IO () -> io ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT () IO () -> IO ()
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT () IO () -> io ()) -> ContT () IO () -> io ()
forall a b. (a -> b) -> a -> b
$ do
let vkDestroySurfaceKHRPtr :: FunPtr
(Ptr Instance_T -> SurfaceKHR -> Ptr AllocationCallbacks -> IO ())
vkDestroySurfaceKHRPtr = InstanceCmds
-> FunPtr
(Ptr Instance_T -> SurfaceKHR -> Ptr AllocationCallbacks -> IO ())
pVkDestroySurfaceKHR (case Instance
instance' of Instance{InstanceCmds
instanceCmds :: InstanceCmds
$sel:instanceCmds:Instance :: Instance -> InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
IO () -> ContT () IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT () m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT () IO ()) -> IO () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Instance_T -> SurfaceKHR -> Ptr AllocationCallbacks -> IO ())
vkDestroySurfaceKHRPtr FunPtr
(Ptr Instance_T -> SurfaceKHR -> Ptr AllocationCallbacks -> IO ())
-> FunPtr
(Ptr Instance_T -> SurfaceKHR -> Ptr AllocationCallbacks -> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Instance_T -> SurfaceKHR -> Ptr AllocationCallbacks -> IO ())
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 vkDestroySurfaceKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkDestroySurfaceKHR' :: Ptr Instance_T -> SurfaceKHR -> Ptr AllocationCallbacks -> IO ()
vkDestroySurfaceKHR' = FunPtr
(Ptr Instance_T -> SurfaceKHR -> Ptr AllocationCallbacks -> IO ())
-> Ptr Instance_T -> SurfaceKHR -> Ptr AllocationCallbacks -> IO ()
mkVkDestroySurfaceKHR FunPtr
(Ptr Instance_T -> SurfaceKHR -> Ptr AllocationCallbacks -> IO ())
vkDestroySurfaceKHRPtr
Ptr AllocationCallbacks
pAllocator <- case ("allocator" ::: Maybe AllocationCallbacks
allocator) of
"allocator" ::: Maybe AllocationCallbacks
Nothing -> Ptr AllocationCallbacks -> ContT () IO (Ptr AllocationCallbacks)
forall a. a -> ContT () IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure Ptr AllocationCallbacks
forall a. Ptr a
nullPtr
Just AllocationCallbacks
j -> ((Ptr AllocationCallbacks -> IO ()) -> IO ())
-> ContT () IO (Ptr AllocationCallbacks)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr AllocationCallbacks -> IO ()) -> IO ())
-> ContT () IO (Ptr AllocationCallbacks))
-> ((Ptr AllocationCallbacks -> IO ()) -> IO ())
-> ContT () IO (Ptr AllocationCallbacks)
forall a b. (a -> b) -> a -> b
$ AllocationCallbacks -> (Ptr AllocationCallbacks -> IO ()) -> IO ()
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
forall b.
AllocationCallbacks -> (Ptr AllocationCallbacks -> IO b) -> IO b
withCStruct (AllocationCallbacks
j)
IO () -> ContT () IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT () m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT () IO ()) -> IO () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkDestroySurfaceKHR" (Ptr Instance_T -> SurfaceKHR -> Ptr AllocationCallbacks -> IO ()
vkDestroySurfaceKHR'
(Instance -> Ptr Instance_T
instanceHandle (Instance
instance'))
(SurfaceKHR
surface)
Ptr AllocationCallbacks
pAllocator)
() -> ContT () IO ()
forall a. a -> ContT () IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> ContT () IO ()) -> () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ ()
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetPhysicalDeviceSurfaceSupportKHR
:: FunPtr (Ptr PhysicalDevice_T -> Word32 -> SurfaceKHR -> Ptr Bool32 -> IO Result) -> Ptr PhysicalDevice_T -> Word32 -> SurfaceKHR -> Ptr Bool32 -> IO Result
getPhysicalDeviceSurfaceSupportKHR :: forall io
. (MonadIO io)
=>
PhysicalDevice
->
("queueFamilyIndex" ::: Word32)
->
SurfaceKHR
-> io (("supported" ::: Bool))
getPhysicalDeviceSurfaceSupportKHR :: forall (io :: * -> *).
MonadIO io =>
PhysicalDevice -> Flags -> SurfaceKHR -> io Bool
getPhysicalDeviceSurfaceSupportKHR PhysicalDevice
physicalDevice
Flags
queueFamilyIndex
SurfaceKHR
surface = IO Bool -> io Bool
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> io Bool)
-> (ContT Bool IO Bool -> IO Bool) -> ContT Bool IO Bool -> io Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT Bool IO Bool -> IO Bool
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT Bool IO Bool -> io Bool) -> ContT Bool IO Bool -> io Bool
forall a b. (a -> b) -> a -> b
$ do
let vkGetPhysicalDeviceSurfaceSupportKHRPtr :: FunPtr
(Ptr PhysicalDevice_T
-> Flags -> SurfaceKHR -> Ptr Bool32 -> IO Result)
vkGetPhysicalDeviceSurfaceSupportKHRPtr = InstanceCmds
-> FunPtr
(Ptr PhysicalDevice_T
-> Flags -> SurfaceKHR -> Ptr Bool32 -> IO Result)
pVkGetPhysicalDeviceSurfaceSupportKHR (case PhysicalDevice
physicalDevice of PhysicalDevice{InstanceCmds
instanceCmds :: InstanceCmds
$sel:instanceCmds:PhysicalDevice :: PhysicalDevice -> InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
IO () -> ContT Bool IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT Bool m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT Bool IO ()) -> IO () -> ContT Bool IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr PhysicalDevice_T
-> Flags -> SurfaceKHR -> Ptr Bool32 -> IO Result)
vkGetPhysicalDeviceSurfaceSupportKHRPtr FunPtr
(Ptr PhysicalDevice_T
-> Flags -> SurfaceKHR -> Ptr Bool32 -> IO Result)
-> FunPtr
(Ptr PhysicalDevice_T
-> Flags -> SurfaceKHR -> Ptr Bool32 -> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr PhysicalDevice_T
-> Flags -> SurfaceKHR -> Ptr Bool32 -> 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 vkGetPhysicalDeviceSurfaceSupportKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkGetPhysicalDeviceSurfaceSupportKHR' :: Ptr PhysicalDevice_T
-> Flags -> SurfaceKHR -> Ptr Bool32 -> IO Result
vkGetPhysicalDeviceSurfaceSupportKHR' = FunPtr
(Ptr PhysicalDevice_T
-> Flags -> SurfaceKHR -> Ptr Bool32 -> IO Result)
-> Ptr PhysicalDevice_T
-> Flags
-> SurfaceKHR
-> Ptr Bool32
-> IO Result
mkVkGetPhysicalDeviceSurfaceSupportKHR FunPtr
(Ptr PhysicalDevice_T
-> Flags -> SurfaceKHR -> Ptr Bool32 -> IO Result)
vkGetPhysicalDeviceSurfaceSupportKHRPtr
Ptr Bool32
pPSupported <- ((Ptr Bool32 -> IO Bool) -> IO Bool) -> ContT Bool IO (Ptr Bool32)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr Bool32 -> IO Bool) -> IO Bool)
-> ContT Bool IO (Ptr Bool32))
-> ((Ptr Bool32 -> IO Bool) -> IO Bool)
-> ContT Bool IO (Ptr Bool32)
forall a b. (a -> b) -> a -> b
$ IO (Ptr Bool32)
-> (Ptr Bool32 -> IO ()) -> (Ptr Bool32 -> IO Bool) -> IO Bool
forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket (forall a. Int -> IO (Ptr a)
callocBytes @Bool32 Int
4) Ptr Bool32 -> IO ()
forall a. Ptr a -> IO ()
free
Result
r <- IO Result -> ContT Bool IO Result
forall (m :: * -> *) a. Monad m => m a -> ContT Bool m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Result -> ContT Bool IO Result)
-> IO Result -> ContT Bool IO Result
forall a b. (a -> b) -> a -> b
$ String -> IO Result -> IO Result
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkGetPhysicalDeviceSurfaceSupportKHR" (Ptr PhysicalDevice_T
-> Flags -> SurfaceKHR -> Ptr Bool32 -> IO Result
vkGetPhysicalDeviceSurfaceSupportKHR'
(PhysicalDevice -> Ptr PhysicalDevice_T
physicalDeviceHandle (PhysicalDevice
physicalDevice))
(Flags
queueFamilyIndex)
(SurfaceKHR
surface)
(Ptr Bool32
pPSupported))
IO () -> ContT Bool IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT Bool m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT Bool IO ()) -> IO () -> ContT Bool 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))
Bool32
pSupported <- IO Bool32 -> ContT Bool IO Bool32
forall (m :: * -> *) a. Monad m => m a -> ContT Bool m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Bool32 -> ContT Bool IO Bool32)
-> IO Bool32 -> ContT Bool IO Bool32
forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> IO a
peek @Bool32 Ptr Bool32
pPSupported
Bool -> ContT Bool IO Bool
forall a. a -> ContT Bool IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Bool -> ContT Bool IO Bool) -> Bool -> ContT Bool IO Bool
forall a b. (a -> b) -> a -> b
$ ((Bool32 -> Bool
bool32ToBool Bool32
pSupported))
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetPhysicalDeviceSurfaceCapabilitiesKHR
:: FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> Ptr SurfaceCapabilitiesKHR -> IO Result) -> Ptr PhysicalDevice_T -> SurfaceKHR -> Ptr SurfaceCapabilitiesKHR -> IO Result
getPhysicalDeviceSurfaceCapabilitiesKHR :: forall io
. (MonadIO io)
=>
PhysicalDevice
->
SurfaceKHR
-> io (SurfaceCapabilitiesKHR)
getPhysicalDeviceSurfaceCapabilitiesKHR :: forall (io :: * -> *).
MonadIO io =>
PhysicalDevice -> SurfaceKHR -> io SurfaceCapabilitiesKHR
getPhysicalDeviceSurfaceCapabilitiesKHR PhysicalDevice
physicalDevice
SurfaceKHR
surface = IO SurfaceCapabilitiesKHR -> io SurfaceCapabilitiesKHR
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SurfaceCapabilitiesKHR -> io SurfaceCapabilitiesKHR)
-> (ContT SurfaceCapabilitiesKHR IO SurfaceCapabilitiesKHR
-> IO SurfaceCapabilitiesKHR)
-> ContT SurfaceCapabilitiesKHR IO SurfaceCapabilitiesKHR
-> io SurfaceCapabilitiesKHR
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT SurfaceCapabilitiesKHR IO SurfaceCapabilitiesKHR
-> IO SurfaceCapabilitiesKHR
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT SurfaceCapabilitiesKHR IO SurfaceCapabilitiesKHR
-> io SurfaceCapabilitiesKHR)
-> ContT SurfaceCapabilitiesKHR IO SurfaceCapabilitiesKHR
-> io SurfaceCapabilitiesKHR
forall a b. (a -> b) -> a -> b
$ do
let vkGetPhysicalDeviceSurfaceCapabilitiesKHRPtr :: FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr SurfaceCapabilitiesKHR -> IO Result)
vkGetPhysicalDeviceSurfaceCapabilitiesKHRPtr = InstanceCmds
-> FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr SurfaceCapabilitiesKHR -> IO Result)
pVkGetPhysicalDeviceSurfaceCapabilitiesKHR (case PhysicalDevice
physicalDevice of PhysicalDevice{InstanceCmds
$sel:instanceCmds:PhysicalDevice :: PhysicalDevice -> InstanceCmds
instanceCmds :: InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
IO () -> ContT SurfaceCapabilitiesKHR IO ()
forall (m :: * -> *) a.
Monad m =>
m a -> ContT SurfaceCapabilitiesKHR m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT SurfaceCapabilitiesKHR IO ())
-> IO () -> ContT SurfaceCapabilitiesKHR IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr SurfaceCapabilitiesKHR -> IO Result)
vkGetPhysicalDeviceSurfaceCapabilitiesKHRPtr FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr SurfaceCapabilitiesKHR -> IO Result)
-> FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr SurfaceCapabilitiesKHR -> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr SurfaceCapabilitiesKHR -> 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 vkGetPhysicalDeviceSurfaceCapabilitiesKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkGetPhysicalDeviceSurfaceCapabilitiesKHR' :: Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr SurfaceCapabilitiesKHR -> IO Result
vkGetPhysicalDeviceSurfaceCapabilitiesKHR' = FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr SurfaceCapabilitiesKHR -> IO Result)
-> Ptr PhysicalDevice_T
-> SurfaceKHR
-> Ptr SurfaceCapabilitiesKHR
-> IO Result
mkVkGetPhysicalDeviceSurfaceCapabilitiesKHR FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr SurfaceCapabilitiesKHR -> IO Result)
vkGetPhysicalDeviceSurfaceCapabilitiesKHRPtr
Ptr SurfaceCapabilitiesKHR
pPSurfaceCapabilities <- ((Ptr SurfaceCapabilitiesKHR -> IO SurfaceCapabilitiesKHR)
-> IO SurfaceCapabilitiesKHR)
-> ContT SurfaceCapabilitiesKHR IO (Ptr SurfaceCapabilitiesKHR)
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 @SurfaceCapabilitiesKHR)
Result
r <- IO Result -> ContT SurfaceCapabilitiesKHR IO Result
forall (m :: * -> *) a.
Monad m =>
m a -> ContT SurfaceCapabilitiesKHR m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Result -> ContT SurfaceCapabilitiesKHR IO Result)
-> IO Result -> ContT SurfaceCapabilitiesKHR IO Result
forall a b. (a -> b) -> a -> b
$ String -> IO Result -> IO Result
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkGetPhysicalDeviceSurfaceCapabilitiesKHR" (Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr SurfaceCapabilitiesKHR -> IO Result
vkGetPhysicalDeviceSurfaceCapabilitiesKHR'
(PhysicalDevice -> Ptr PhysicalDevice_T
physicalDeviceHandle (PhysicalDevice
physicalDevice))
(SurfaceKHR
surface)
(Ptr SurfaceCapabilitiesKHR
pPSurfaceCapabilities))
IO () -> ContT SurfaceCapabilitiesKHR IO ()
forall (m :: * -> *) a.
Monad m =>
m a -> ContT SurfaceCapabilitiesKHR m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT SurfaceCapabilitiesKHR IO ())
-> IO () -> ContT SurfaceCapabilitiesKHR 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))
SurfaceCapabilitiesKHR
pSurfaceCapabilities <- IO SurfaceCapabilitiesKHR
-> ContT SurfaceCapabilitiesKHR IO SurfaceCapabilitiesKHR
forall (m :: * -> *) a.
Monad m =>
m a -> ContT SurfaceCapabilitiesKHR m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO SurfaceCapabilitiesKHR
-> ContT SurfaceCapabilitiesKHR IO SurfaceCapabilitiesKHR)
-> IO SurfaceCapabilitiesKHR
-> ContT SurfaceCapabilitiesKHR IO SurfaceCapabilitiesKHR
forall a b. (a -> b) -> a -> b
$ forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @SurfaceCapabilitiesKHR Ptr SurfaceCapabilitiesKHR
pPSurfaceCapabilities
SurfaceCapabilitiesKHR
-> ContT SurfaceCapabilitiesKHR IO SurfaceCapabilitiesKHR
forall a. a -> ContT SurfaceCapabilitiesKHR IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (SurfaceCapabilitiesKHR
-> ContT SurfaceCapabilitiesKHR IO SurfaceCapabilitiesKHR)
-> SurfaceCapabilitiesKHR
-> ContT SurfaceCapabilitiesKHR IO SurfaceCapabilitiesKHR
forall a b. (a -> b) -> a -> b
$ (SurfaceCapabilitiesKHR
pSurfaceCapabilities)
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetPhysicalDeviceSurfaceFormatsKHR
:: FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> Ptr Word32 -> Ptr SurfaceFormatKHR -> IO Result) -> Ptr PhysicalDevice_T -> SurfaceKHR -> Ptr Word32 -> Ptr SurfaceFormatKHR -> IO Result
getPhysicalDeviceSurfaceFormatsKHR :: forall io
. (MonadIO io)
=>
PhysicalDevice
->
SurfaceKHR
-> io (Result, ("surfaceFormats" ::: Vector SurfaceFormatKHR))
getPhysicalDeviceSurfaceFormatsKHR :: forall (io :: * -> *).
MonadIO io =>
PhysicalDevice
-> SurfaceKHR
-> io (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
getPhysicalDeviceSurfaceFormatsKHR PhysicalDevice
physicalDevice
SurfaceKHR
surface = IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
-> io (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
-> io (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> (ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
-> io (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
-> io (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
-> io (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
forall a b. (a -> b) -> a -> b
$ do
let vkGetPhysicalDeviceSurfaceFormatsKHRPtr :: FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr SurfaceFormatKHR -> IO Result)
vkGetPhysicalDeviceSurfaceFormatsKHRPtr = InstanceCmds
-> FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr SurfaceFormatKHR -> IO Result)
pVkGetPhysicalDeviceSurfaceFormatsKHR (case PhysicalDevice
physicalDevice of PhysicalDevice{InstanceCmds
$sel:instanceCmds:PhysicalDevice :: PhysicalDevice -> InstanceCmds
instanceCmds :: InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
IO ()
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO ()
forall (m :: * -> *) a.
Monad m =>
m a
-> ContT (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO ()
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO ())
-> IO ()
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr SurfaceFormatKHR -> IO Result)
vkGetPhysicalDeviceSurfaceFormatsKHRPtr FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr SurfaceFormatKHR -> IO Result)
-> FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr SurfaceFormatKHR -> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr SurfaceFormatKHR -> 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 vkGetPhysicalDeviceSurfaceFormatsKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkGetPhysicalDeviceSurfaceFormatsKHR' :: Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr SurfaceFormatKHR -> IO Result
vkGetPhysicalDeviceSurfaceFormatsKHR' = FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr SurfaceFormatKHR -> IO Result)
-> Ptr PhysicalDevice_T
-> SurfaceKHR
-> Ptr Flags
-> Ptr SurfaceFormatKHR
-> IO Result
mkVkGetPhysicalDeviceSurfaceFormatsKHR FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr SurfaceFormatKHR -> IO Result)
vkGetPhysicalDeviceSurfaceFormatsKHRPtr
let physicalDevice' :: Ptr PhysicalDevice_T
physicalDevice' = PhysicalDevice -> Ptr PhysicalDevice_T
physicalDeviceHandle (PhysicalDevice
physicalDevice)
Ptr Flags
pPSurfaceFormatCount <- ((Ptr Flags
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
(Ptr Flags)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr Flags
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
(Ptr Flags))
-> ((Ptr Flags
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
(Ptr Flags)
forall a b. (a -> b) -> a -> b
$ IO (Ptr Flags)
-> (Ptr Flags -> IO ())
-> (Ptr Flags
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket (forall a. Int -> IO (Ptr a)
callocBytes @Word32 Int
4) Ptr Flags -> IO ()
forall a. Ptr a -> IO ()
free
Result
r <- IO Result
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO Result
forall (m :: * -> *) a.
Monad m =>
m a
-> ContT (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Result
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO Result)
-> IO Result
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO Result
forall a b. (a -> b) -> a -> b
$ String -> IO Result -> IO Result
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkGetPhysicalDeviceSurfaceFormatsKHR" (Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr SurfaceFormatKHR -> IO Result
vkGetPhysicalDeviceSurfaceFormatsKHR'
Ptr PhysicalDevice_T
physicalDevice'
(SurfaceKHR
surface)
(Ptr Flags
pPSurfaceFormatCount)
(Ptr SurfaceFormatKHR
forall a. Ptr a
nullPtr))
IO ()
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO ()
forall (m :: * -> *) a.
Monad m =>
m a
-> ContT (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO ()
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO ())
-> IO ()
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) 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
pSurfaceFormatCount <- IO Flags
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO Flags
forall (m :: * -> *) a.
Monad m =>
m a
-> ContT (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Flags
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO Flags)
-> IO Flags
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO Flags
forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> IO a
peek @Word32 Ptr Flags
pPSurfaceFormatCount
Ptr SurfaceFormatKHR
pPSurfaceFormats <- ((Ptr SurfaceFormatKHR
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
(Ptr SurfaceFormatKHR)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr SurfaceFormatKHR
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
(Ptr SurfaceFormatKHR))
-> ((Ptr SurfaceFormatKHR
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
(Ptr SurfaceFormatKHR)
forall a b. (a -> b) -> a -> b
$ IO (Ptr SurfaceFormatKHR)
-> (Ptr SurfaceFormatKHR -> IO ())
-> (Ptr SurfaceFormatKHR
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket (forall a. Int -> IO (Ptr a)
callocBytes @SurfaceFormatKHR ((Flags -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Flags
pSurfaceFormatCount)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
8)) Ptr SurfaceFormatKHR -> IO ()
forall a. Ptr a -> IO ()
free
[()]
_ <- (Int
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO ())
-> [Int]
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO [()]
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> [a] -> f [b]
traverse (\Int
i -> ((() -> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO ()
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO ())
-> ((()
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO ()
forall a b. (a -> b) -> a -> b
$ Ptr SurfaceFormatKHR
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
forall b. Ptr SurfaceFormatKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> IO b -> IO b
pokeZeroCStruct (Ptr SurfaceFormatKHR
pPSurfaceFormats Ptr SurfaceFormatKHR -> Int -> Ptr SurfaceFormatKHR
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
i Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
8) :: Ptr SurfaceFormatKHR) (IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> ((()
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> (()
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> () -> IO (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
forall a b. (a -> b) -> a -> b
$ ())) [Int
0..(Flags -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Flags
pSurfaceFormatCount)) Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
1]
Result
r' <- IO Result
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO Result
forall (m :: * -> *) a.
Monad m =>
m a
-> ContT (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Result
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO Result)
-> IO Result
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO Result
forall a b. (a -> b) -> a -> b
$ String -> IO Result -> IO Result
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkGetPhysicalDeviceSurfaceFormatsKHR" (Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr SurfaceFormatKHR -> IO Result
vkGetPhysicalDeviceSurfaceFormatsKHR'
Ptr PhysicalDevice_T
physicalDevice'
(SurfaceKHR
surface)
(Ptr Flags
pPSurfaceFormatCount)
((Ptr SurfaceFormatKHR
pPSurfaceFormats)))
IO ()
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO ()
forall (m :: * -> *) a.
Monad m =>
m a
-> ContT (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO ()
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO ())
-> IO ()
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) 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
pSurfaceFormatCount' <- IO Flags
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO Flags
forall (m :: * -> *) a.
Monad m =>
m a
-> ContT (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Flags
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO Flags)
-> IO Flags
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO Flags
forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> IO a
peek @Word32 Ptr Flags
pPSurfaceFormatCount
"surfaceFormats" ::: Vector SurfaceFormatKHR
pSurfaceFormats' <- IO ("surfaceFormats" ::: Vector SurfaceFormatKHR)
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
("surfaceFormats" ::: Vector SurfaceFormatKHR)
forall (m :: * -> *) a.
Monad m =>
m a
-> ContT (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO ("surfaceFormats" ::: Vector SurfaceFormatKHR)
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
("surfaceFormats" ::: Vector SurfaceFormatKHR))
-> IO ("surfaceFormats" ::: Vector SurfaceFormatKHR)
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
("surfaceFormats" ::: Vector SurfaceFormatKHR)
forall a b. (a -> b) -> a -> b
$ Int
-> (Int -> IO SurfaceFormatKHR)
-> IO ("surfaceFormats" ::: Vector SurfaceFormatKHR)
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
pSurfaceFormatCount')) (\Int
i -> forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @SurfaceFormatKHR (((Ptr SurfaceFormatKHR
pPSurfaceFormats) Ptr SurfaceFormatKHR -> Int -> Ptr SurfaceFormatKHR
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
8 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr SurfaceFormatKHR)))
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
forall a.
a
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR) IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ((Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR))
-> (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
-> ContT
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
IO
(Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
forall a b. (a -> b) -> a -> b
$ ((Result
r'), "surfaceFormats" ::: Vector SurfaceFormatKHR
pSurfaceFormats')
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetPhysicalDeviceSurfacePresentModesKHR
:: FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> Ptr Word32 -> Ptr PresentModeKHR -> IO Result) -> Ptr PhysicalDevice_T -> SurfaceKHR -> Ptr Word32 -> Ptr PresentModeKHR -> IO Result
getPhysicalDeviceSurfacePresentModesKHR :: forall io
. (MonadIO io)
=>
PhysicalDevice
->
SurfaceKHR
-> io (Result, ("presentModes" ::: Vector PresentModeKHR))
getPhysicalDeviceSurfacePresentModesKHR :: forall (io :: * -> *).
MonadIO io =>
PhysicalDevice
-> SurfaceKHR
-> io (Result, "presentModes" ::: Vector PresentModeKHR)
getPhysicalDeviceSurfacePresentModesKHR PhysicalDevice
physicalDevice
SurfaceKHR
surface = IO (Result, "presentModes" ::: Vector PresentModeKHR)
-> io (Result, "presentModes" ::: Vector PresentModeKHR)
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Result, "presentModes" ::: Vector PresentModeKHR)
-> io (Result, "presentModes" ::: Vector PresentModeKHR))
-> (ContT
(Result, "presentModes" ::: Vector PresentModeKHR)
IO
(Result, "presentModes" ::: Vector PresentModeKHR)
-> IO (Result, "presentModes" ::: Vector PresentModeKHR))
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR)
IO
(Result, "presentModes" ::: Vector PresentModeKHR)
-> io (Result, "presentModes" ::: Vector PresentModeKHR)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT
(Result, "presentModes" ::: Vector PresentModeKHR)
IO
(Result, "presentModes" ::: Vector PresentModeKHR)
-> IO (Result, "presentModes" ::: Vector PresentModeKHR)
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT
(Result, "presentModes" ::: Vector PresentModeKHR)
IO
(Result, "presentModes" ::: Vector PresentModeKHR)
-> io (Result, "presentModes" ::: Vector PresentModeKHR))
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR)
IO
(Result, "presentModes" ::: Vector PresentModeKHR)
-> io (Result, "presentModes" ::: Vector PresentModeKHR)
forall a b. (a -> b) -> a -> b
$ do
let vkGetPhysicalDeviceSurfacePresentModesKHRPtr :: FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr PresentModeKHR -> IO Result)
vkGetPhysicalDeviceSurfacePresentModesKHRPtr = InstanceCmds
-> FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr PresentModeKHR -> IO Result)
pVkGetPhysicalDeviceSurfacePresentModesKHR (case PhysicalDevice
physicalDevice of PhysicalDevice{InstanceCmds
$sel:instanceCmds:PhysicalDevice :: PhysicalDevice -> InstanceCmds
instanceCmds :: InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
IO ()
-> ContT (Result, "presentModes" ::: Vector PresentModeKHR) IO ()
forall (m :: * -> *) a.
Monad m =>
m a -> ContT (Result, "presentModes" ::: Vector PresentModeKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO ()
-> ContT (Result, "presentModes" ::: Vector PresentModeKHR) IO ())
-> IO ()
-> ContT (Result, "presentModes" ::: Vector PresentModeKHR) IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr PresentModeKHR -> IO Result)
vkGetPhysicalDeviceSurfacePresentModesKHRPtr FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr PresentModeKHR -> IO Result)
-> FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr PresentModeKHR -> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr PresentModeKHR -> 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 vkGetPhysicalDeviceSurfacePresentModesKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkGetPhysicalDeviceSurfacePresentModesKHR' :: Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr PresentModeKHR -> IO Result
vkGetPhysicalDeviceSurfacePresentModesKHR' = FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr PresentModeKHR -> IO Result)
-> Ptr PhysicalDevice_T
-> SurfaceKHR
-> Ptr Flags
-> Ptr PresentModeKHR
-> IO Result
mkVkGetPhysicalDeviceSurfacePresentModesKHR FunPtr
(Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr PresentModeKHR -> IO Result)
vkGetPhysicalDeviceSurfacePresentModesKHRPtr
let physicalDevice' :: Ptr PhysicalDevice_T
physicalDevice' = PhysicalDevice -> Ptr PhysicalDevice_T
physicalDeviceHandle (PhysicalDevice
physicalDevice)
Ptr Flags
pPPresentModeCount <- ((Ptr Flags
-> IO (Result, "presentModes" ::: Vector PresentModeKHR))
-> IO (Result, "presentModes" ::: Vector PresentModeKHR))
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR) IO (Ptr Flags)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr Flags
-> IO (Result, "presentModes" ::: Vector PresentModeKHR))
-> IO (Result, "presentModes" ::: Vector PresentModeKHR))
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR) IO (Ptr Flags))
-> ((Ptr Flags
-> IO (Result, "presentModes" ::: Vector PresentModeKHR))
-> IO (Result, "presentModes" ::: Vector PresentModeKHR))
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR) IO (Ptr Flags)
forall a b. (a -> b) -> a -> b
$ IO (Ptr Flags)
-> (Ptr Flags -> IO ())
-> (Ptr Flags
-> IO (Result, "presentModes" ::: Vector PresentModeKHR))
-> IO (Result, "presentModes" ::: Vector PresentModeKHR)
forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket (forall a. Int -> IO (Ptr a)
callocBytes @Word32 Int
4) Ptr Flags -> IO ()
forall a. Ptr a -> IO ()
free
Result
r <- IO Result
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR) IO Result
forall (m :: * -> *) a.
Monad m =>
m a -> ContT (Result, "presentModes" ::: Vector PresentModeKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Result
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR) IO Result)
-> IO Result
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR) IO Result
forall a b. (a -> b) -> a -> b
$ String -> IO Result -> IO Result
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkGetPhysicalDeviceSurfacePresentModesKHR" (Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr PresentModeKHR -> IO Result
vkGetPhysicalDeviceSurfacePresentModesKHR'
Ptr PhysicalDevice_T
physicalDevice'
(SurfaceKHR
surface)
(Ptr Flags
pPPresentModeCount)
(Ptr PresentModeKHR
forall a. Ptr a
nullPtr))
IO ()
-> ContT (Result, "presentModes" ::: Vector PresentModeKHR) IO ()
forall (m :: * -> *) a.
Monad m =>
m a -> ContT (Result, "presentModes" ::: Vector PresentModeKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO ()
-> ContT (Result, "presentModes" ::: Vector PresentModeKHR) IO ())
-> IO ()
-> ContT (Result, "presentModes" ::: Vector PresentModeKHR) 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
pPresentModeCount <- IO Flags
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR) IO Flags
forall (m :: * -> *) a.
Monad m =>
m a -> ContT (Result, "presentModes" ::: Vector PresentModeKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Flags
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR) IO Flags)
-> IO Flags
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR) IO Flags
forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> IO a
peek @Word32 Ptr Flags
pPPresentModeCount
Ptr PresentModeKHR
pPPresentModes <- ((Ptr PresentModeKHR
-> IO (Result, "presentModes" ::: Vector PresentModeKHR))
-> IO (Result, "presentModes" ::: Vector PresentModeKHR))
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR)
IO
(Ptr PresentModeKHR)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr PresentModeKHR
-> IO (Result, "presentModes" ::: Vector PresentModeKHR))
-> IO (Result, "presentModes" ::: Vector PresentModeKHR))
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR)
IO
(Ptr PresentModeKHR))
-> ((Ptr PresentModeKHR
-> IO (Result, "presentModes" ::: Vector PresentModeKHR))
-> IO (Result, "presentModes" ::: Vector PresentModeKHR))
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR)
IO
(Ptr PresentModeKHR)
forall a b. (a -> b) -> a -> b
$ IO (Ptr PresentModeKHR)
-> (Ptr PresentModeKHR -> IO ())
-> (Ptr PresentModeKHR
-> IO (Result, "presentModes" ::: Vector PresentModeKHR))
-> IO (Result, "presentModes" ::: Vector PresentModeKHR)
forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket (forall a. Int -> IO (Ptr a)
callocBytes @PresentModeKHR ((Flags -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Flags
pPresentModeCount)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
4)) Ptr PresentModeKHR -> IO ()
forall a. Ptr a -> IO ()
free
Result
r' <- IO Result
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR) IO Result
forall (m :: * -> *) a.
Monad m =>
m a -> ContT (Result, "presentModes" ::: Vector PresentModeKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Result
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR) IO Result)
-> IO Result
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR) IO Result
forall a b. (a -> b) -> a -> b
$ String -> IO Result -> IO Result
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkGetPhysicalDeviceSurfacePresentModesKHR" (Ptr PhysicalDevice_T
-> SurfaceKHR -> Ptr Flags -> Ptr PresentModeKHR -> IO Result
vkGetPhysicalDeviceSurfacePresentModesKHR'
Ptr PhysicalDevice_T
physicalDevice'
(SurfaceKHR
surface)
(Ptr Flags
pPPresentModeCount)
(Ptr PresentModeKHR
pPPresentModes))
IO ()
-> ContT (Result, "presentModes" ::: Vector PresentModeKHR) IO ()
forall (m :: * -> *) a.
Monad m =>
m a -> ContT (Result, "presentModes" ::: Vector PresentModeKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO ()
-> ContT (Result, "presentModes" ::: Vector PresentModeKHR) IO ())
-> IO ()
-> ContT (Result, "presentModes" ::: Vector PresentModeKHR) 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
pPresentModeCount' <- IO Flags
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR) IO Flags
forall (m :: * -> *) a.
Monad m =>
m a -> ContT (Result, "presentModes" ::: Vector PresentModeKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Flags
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR) IO Flags)
-> IO Flags
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR) IO Flags
forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> IO a
peek @Word32 Ptr Flags
pPPresentModeCount
"presentModes" ::: Vector PresentModeKHR
pPresentModes' <- IO ("presentModes" ::: Vector PresentModeKHR)
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR)
IO
("presentModes" ::: Vector PresentModeKHR)
forall (m :: * -> *) a.
Monad m =>
m a -> ContT (Result, "presentModes" ::: Vector PresentModeKHR) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO ("presentModes" ::: Vector PresentModeKHR)
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR)
IO
("presentModes" ::: Vector PresentModeKHR))
-> IO ("presentModes" ::: Vector PresentModeKHR)
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR)
IO
("presentModes" ::: Vector PresentModeKHR)
forall a b. (a -> b) -> a -> b
$ Int
-> (Int -> IO PresentModeKHR)
-> IO ("presentModes" ::: Vector PresentModeKHR)
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
pPresentModeCount')) (\Int
i -> forall a. Storable a => Ptr a -> IO a
peek @PresentModeKHR ((Ptr PresentModeKHR
pPPresentModes Ptr PresentModeKHR -> Int -> Ptr PresentModeKHR
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
4 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr PresentModeKHR)))
(Result, "presentModes" ::: Vector PresentModeKHR)
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR)
IO
(Result, "presentModes" ::: Vector PresentModeKHR)
forall a.
a -> ContT (Result, "presentModes" ::: Vector PresentModeKHR) IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ((Result, "presentModes" ::: Vector PresentModeKHR)
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR)
IO
(Result, "presentModes" ::: Vector PresentModeKHR))
-> (Result, "presentModes" ::: Vector PresentModeKHR)
-> ContT
(Result, "presentModes" ::: Vector PresentModeKHR)
IO
(Result, "presentModes" ::: Vector PresentModeKHR)
forall a b. (a -> b) -> a -> b
$ ((Result
r'), "presentModes" ::: Vector PresentModeKHR
pPresentModes')
pattern $bCOLORSPACE_SRGB_NONLINEAR_KHR :: ColorSpaceKHR
$mCOLORSPACE_SRGB_NONLINEAR_KHR :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLORSPACE_SRGB_NONLINEAR_KHR = COLOR_SPACE_SRGB_NONLINEAR_KHR
data SurfaceCapabilitiesKHR = SurfaceCapabilitiesKHR
{
SurfaceCapabilitiesKHR -> Flags
minImageCount :: Word32
,
SurfaceCapabilitiesKHR -> Flags
maxImageCount :: Word32
,
SurfaceCapabilitiesKHR -> Extent2D
currentExtent :: Extent2D
,
SurfaceCapabilitiesKHR -> Extent2D
minImageExtent :: Extent2D
,
SurfaceCapabilitiesKHR -> Extent2D
maxImageExtent :: Extent2D
,
SurfaceCapabilitiesKHR -> Flags
maxImageArrayLayers :: Word32
,
SurfaceCapabilitiesKHR -> SurfaceTransformFlagsKHR
supportedTransforms :: SurfaceTransformFlagsKHR
,
SurfaceCapabilitiesKHR -> SurfaceTransformFlagsKHR
currentTransform :: SurfaceTransformFlagBitsKHR
,
SurfaceCapabilitiesKHR -> CompositeAlphaFlagsKHR
supportedCompositeAlpha :: CompositeAlphaFlagsKHR
,
SurfaceCapabilitiesKHR -> ImageUsageFlags
supportedUsageFlags :: ImageUsageFlags
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (SurfaceCapabilitiesKHR)
#endif
deriving instance Show SurfaceCapabilitiesKHR
instance ToCStruct SurfaceCapabilitiesKHR where
withCStruct :: forall b.
SurfaceCapabilitiesKHR
-> (Ptr SurfaceCapabilitiesKHR -> IO b) -> IO b
withCStruct SurfaceCapabilitiesKHR
x Ptr SurfaceCapabilitiesKHR -> IO b
f = Int -> (Ptr SurfaceCapabilitiesKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
52 ((Ptr SurfaceCapabilitiesKHR -> IO b) -> IO b)
-> (Ptr SurfaceCapabilitiesKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr SurfaceCapabilitiesKHR
p -> Ptr SurfaceCapabilitiesKHR
-> SurfaceCapabilitiesKHR -> IO b -> IO b
forall b.
Ptr SurfaceCapabilitiesKHR
-> SurfaceCapabilitiesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr SurfaceCapabilitiesKHR
p SurfaceCapabilitiesKHR
x (Ptr SurfaceCapabilitiesKHR -> IO b
f Ptr SurfaceCapabilitiesKHR
p)
pokeCStruct :: forall b.
Ptr SurfaceCapabilitiesKHR
-> SurfaceCapabilitiesKHR -> IO b -> IO b
pokeCStruct Ptr SurfaceCapabilitiesKHR
p SurfaceCapabilitiesKHR{Flags
Extent2D
ImageUsageFlags
CompositeAlphaFlagsKHR
SurfaceTransformFlagsKHR
$sel:minImageCount:SurfaceCapabilitiesKHR :: SurfaceCapabilitiesKHR -> Flags
$sel:maxImageCount:SurfaceCapabilitiesKHR :: SurfaceCapabilitiesKHR -> Flags
$sel:currentExtent:SurfaceCapabilitiesKHR :: SurfaceCapabilitiesKHR -> Extent2D
$sel:minImageExtent:SurfaceCapabilitiesKHR :: SurfaceCapabilitiesKHR -> Extent2D
$sel:maxImageExtent:SurfaceCapabilitiesKHR :: SurfaceCapabilitiesKHR -> Extent2D
$sel:maxImageArrayLayers:SurfaceCapabilitiesKHR :: SurfaceCapabilitiesKHR -> Flags
$sel:supportedTransforms:SurfaceCapabilitiesKHR :: SurfaceCapabilitiesKHR -> SurfaceTransformFlagsKHR
$sel:currentTransform:SurfaceCapabilitiesKHR :: SurfaceCapabilitiesKHR -> SurfaceTransformFlagsKHR
$sel:supportedCompositeAlpha:SurfaceCapabilitiesKHR :: SurfaceCapabilitiesKHR -> CompositeAlphaFlagsKHR
$sel:supportedUsageFlags:SurfaceCapabilitiesKHR :: SurfaceCapabilitiesKHR -> ImageUsageFlags
minImageCount :: Flags
maxImageCount :: Flags
currentExtent :: Extent2D
minImageExtent :: Extent2D
maxImageExtent :: Extent2D
maxImageArrayLayers :: Flags
supportedTransforms :: SurfaceTransformFlagsKHR
currentTransform :: SurfaceTransformFlagsKHR
supportedCompositeAlpha :: CompositeAlphaFlagsKHR
supportedUsageFlags :: ImageUsageFlags
..} IO b
f = do
Ptr Flags -> Flags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Flags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr Word32)) (Flags
minImageCount)
Ptr Flags -> Flags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Flags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4 :: Ptr Word32)) (Flags
maxImageCount)
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr Extent2D)) (Extent2D
currentExtent)
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Extent2D)) (Extent2D
minImageExtent)
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Extent2D)) (Extent2D
maxImageExtent)
Ptr Flags -> Flags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Flags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word32)) (Flags
maxImageArrayLayers)
Ptr SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr SurfaceTransformFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr SurfaceTransformFlagsKHR)) (SurfaceTransformFlagsKHR
supportedTransforms)
Ptr SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr SurfaceTransformFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr SurfaceTransformFlagBitsKHR)) (SurfaceTransformFlagsKHR
currentTransform)
Ptr CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr CompositeAlphaFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: Ptr CompositeAlphaFlagsKHR)) (CompositeAlphaFlagsKHR
supportedCompositeAlpha)
Ptr ImageUsageFlags -> ImageUsageFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr ImageUsageFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr ImageUsageFlags)) (ImageUsageFlags
supportedUsageFlags)
IO b
f
cStructSize :: Int
cStructSize = Int
52
cStructAlignment :: Int
cStructAlignment = Int
4
pokeZeroCStruct :: forall b. Ptr SurfaceCapabilitiesKHR -> IO b -> IO b
pokeZeroCStruct Ptr SurfaceCapabilitiesKHR
p IO b
f = do
Ptr Flags -> Flags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Flags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr Word32)) (Flags
forall a. Zero a => a
zero)
Ptr Flags -> Flags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Flags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4 :: Ptr Word32)) (Flags
forall a. Zero a => a
zero)
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr Extent2D)) (Extent2D
forall a. Zero a => a
zero)
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Extent2D)) (Extent2D
forall a. Zero a => a
zero)
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Extent2D)) (Extent2D
forall a. Zero a => a
zero)
Ptr Flags -> Flags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Flags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word32)) (Flags
forall a. Zero a => a
zero)
Ptr SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr SurfaceTransformFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr SurfaceTransformFlagsKHR)) (SurfaceTransformFlagsKHR
forall a. Zero a => a
zero)
Ptr SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr SurfaceTransformFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr SurfaceTransformFlagBitsKHR)) (SurfaceTransformFlagsKHR
forall a. Zero a => a
zero)
Ptr CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr CompositeAlphaFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: Ptr CompositeAlphaFlagsKHR)) (CompositeAlphaFlagsKHR
forall a. Zero a => a
zero)
Ptr ImageUsageFlags -> ImageUsageFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr ImageUsageFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr ImageUsageFlags)) (ImageUsageFlags
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct SurfaceCapabilitiesKHR where
peekCStruct :: Ptr SurfaceCapabilitiesKHR -> IO SurfaceCapabilitiesKHR
peekCStruct Ptr SurfaceCapabilitiesKHR
p = do
Flags
minImageCount <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Flags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr Word32))
Flags
maxImageCount <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Flags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4 :: Ptr Word32))
Extent2D
currentExtent <- forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @Extent2D ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr Extent2D))
Extent2D
minImageExtent <- forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @Extent2D ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Extent2D))
Extent2D
maxImageExtent <- forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @Extent2D ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Extent2D))
Flags
maxImageArrayLayers <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr Flags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word32))
SurfaceTransformFlagsKHR
supportedTransforms <- forall a. Storable a => Ptr a -> IO a
peek @SurfaceTransformFlagsKHR ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr SurfaceTransformFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr SurfaceTransformFlagsKHR))
SurfaceTransformFlagsKHR
currentTransform <- forall a. Storable a => Ptr a -> IO a
peek @SurfaceTransformFlagBitsKHR ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr SurfaceTransformFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr SurfaceTransformFlagBitsKHR))
CompositeAlphaFlagsKHR
supportedCompositeAlpha <- forall a. Storable a => Ptr a -> IO a
peek @CompositeAlphaFlagsKHR ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr CompositeAlphaFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: Ptr CompositeAlphaFlagsKHR))
ImageUsageFlags
supportedUsageFlags <- forall a. Storable a => Ptr a -> IO a
peek @ImageUsageFlags ((Ptr SurfaceCapabilitiesKHR
p Ptr SurfaceCapabilitiesKHR -> Int -> Ptr ImageUsageFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr ImageUsageFlags))
SurfaceCapabilitiesKHR -> IO SurfaceCapabilitiesKHR
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (SurfaceCapabilitiesKHR -> IO SurfaceCapabilitiesKHR)
-> SurfaceCapabilitiesKHR -> IO SurfaceCapabilitiesKHR
forall a b. (a -> b) -> a -> b
$ Flags
-> Flags
-> Extent2D
-> Extent2D
-> Extent2D
-> Flags
-> SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR
-> CompositeAlphaFlagsKHR
-> ImageUsageFlags
-> SurfaceCapabilitiesKHR
SurfaceCapabilitiesKHR
Flags
minImageCount
Flags
maxImageCount
Extent2D
currentExtent
Extent2D
minImageExtent
Extent2D
maxImageExtent
Flags
maxImageArrayLayers
SurfaceTransformFlagsKHR
supportedTransforms
SurfaceTransformFlagsKHR
currentTransform
CompositeAlphaFlagsKHR
supportedCompositeAlpha
ImageUsageFlags
supportedUsageFlags
instance Storable SurfaceCapabilitiesKHR where
sizeOf :: SurfaceCapabilitiesKHR -> Int
sizeOf ~SurfaceCapabilitiesKHR
_ = Int
52
alignment :: SurfaceCapabilitiesKHR -> Int
alignment ~SurfaceCapabilitiesKHR
_ = Int
4
peek :: Ptr SurfaceCapabilitiesKHR -> IO SurfaceCapabilitiesKHR
peek = Ptr SurfaceCapabilitiesKHR -> IO SurfaceCapabilitiesKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr SurfaceCapabilitiesKHR -> SurfaceCapabilitiesKHR -> IO ()
poke Ptr SurfaceCapabilitiesKHR
ptr SurfaceCapabilitiesKHR
poked = Ptr SurfaceCapabilitiesKHR
-> SurfaceCapabilitiesKHR -> IO () -> IO ()
forall b.
Ptr SurfaceCapabilitiesKHR
-> SurfaceCapabilitiesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr SurfaceCapabilitiesKHR
ptr SurfaceCapabilitiesKHR
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero SurfaceCapabilitiesKHR where
zero :: SurfaceCapabilitiesKHR
zero = Flags
-> Flags
-> Extent2D
-> Extent2D
-> Extent2D
-> Flags
-> SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR
-> CompositeAlphaFlagsKHR
-> ImageUsageFlags
-> SurfaceCapabilitiesKHR
SurfaceCapabilitiesKHR
Flags
forall a. Zero a => a
zero
Flags
forall a. Zero a => a
zero
Extent2D
forall a. Zero a => a
zero
Extent2D
forall a. Zero a => a
zero
Extent2D
forall a. Zero a => a
zero
Flags
forall a. Zero a => a
zero
SurfaceTransformFlagsKHR
forall a. Zero a => a
zero
SurfaceTransformFlagsKHR
forall a. Zero a => a
zero
CompositeAlphaFlagsKHR
forall a. Zero a => a
zero
ImageUsageFlags
forall a. Zero a => a
zero
data SurfaceFormatKHR = SurfaceFormatKHR
{
SurfaceFormatKHR -> Format
format :: Format
,
SurfaceFormatKHR -> ColorSpaceKHR
colorSpace :: ColorSpaceKHR
}
deriving (Typeable, SurfaceFormatKHR -> SurfaceFormatKHR -> Bool
(SurfaceFormatKHR -> SurfaceFormatKHR -> Bool)
-> (SurfaceFormatKHR -> SurfaceFormatKHR -> Bool)
-> Eq SurfaceFormatKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SurfaceFormatKHR -> SurfaceFormatKHR -> Bool
== :: SurfaceFormatKHR -> SurfaceFormatKHR -> Bool
$c/= :: SurfaceFormatKHR -> SurfaceFormatKHR -> Bool
/= :: SurfaceFormatKHR -> SurfaceFormatKHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (SurfaceFormatKHR)
#endif
deriving instance Show SurfaceFormatKHR
instance ToCStruct SurfaceFormatKHR where
withCStruct :: forall b.
SurfaceFormatKHR -> (Ptr SurfaceFormatKHR -> IO b) -> IO b
withCStruct SurfaceFormatKHR
x Ptr SurfaceFormatKHR -> IO b
f = Int -> (Ptr SurfaceFormatKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
8 ((Ptr SurfaceFormatKHR -> IO b) -> IO b)
-> (Ptr SurfaceFormatKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr SurfaceFormatKHR
p -> Ptr SurfaceFormatKHR -> SurfaceFormatKHR -> IO b -> IO b
forall b. Ptr SurfaceFormatKHR -> SurfaceFormatKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr SurfaceFormatKHR
p SurfaceFormatKHR
x (Ptr SurfaceFormatKHR -> IO b
f Ptr SurfaceFormatKHR
p)
pokeCStruct :: forall b. Ptr SurfaceFormatKHR -> SurfaceFormatKHR -> IO b -> IO b
pokeCStruct Ptr SurfaceFormatKHR
p SurfaceFormatKHR{Format
ColorSpaceKHR
$sel:format:SurfaceFormatKHR :: SurfaceFormatKHR -> Format
$sel:colorSpace:SurfaceFormatKHR :: SurfaceFormatKHR -> ColorSpaceKHR
format :: Format
colorSpace :: ColorSpaceKHR
..} IO b
f = do
Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceFormatKHR
p Ptr SurfaceFormatKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr Format)) (Format
format)
Ptr ColorSpaceKHR -> ColorSpaceKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceFormatKHR
p Ptr SurfaceFormatKHR -> Int -> Ptr ColorSpaceKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4 :: Ptr ColorSpaceKHR)) (ColorSpaceKHR
colorSpace)
IO b
f
cStructSize :: Int
cStructSize = Int
8
cStructAlignment :: Int
cStructAlignment = Int
4
pokeZeroCStruct :: forall b. Ptr SurfaceFormatKHR -> IO b -> IO b
pokeZeroCStruct Ptr SurfaceFormatKHR
p IO b
f = do
Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceFormatKHR
p Ptr SurfaceFormatKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr Format)) (Format
forall a. Zero a => a
zero)
Ptr ColorSpaceKHR -> ColorSpaceKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SurfaceFormatKHR
p Ptr SurfaceFormatKHR -> Int -> Ptr ColorSpaceKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4 :: Ptr ColorSpaceKHR)) (ColorSpaceKHR
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct SurfaceFormatKHR where
peekCStruct :: Ptr SurfaceFormatKHR -> IO SurfaceFormatKHR
peekCStruct Ptr SurfaceFormatKHR
p = do
Format
format <- forall a. Storable a => Ptr a -> IO a
peek @Format ((Ptr SurfaceFormatKHR
p Ptr SurfaceFormatKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr Format))
ColorSpaceKHR
colorSpace <- forall a. Storable a => Ptr a -> IO a
peek @ColorSpaceKHR ((Ptr SurfaceFormatKHR
p Ptr SurfaceFormatKHR -> Int -> Ptr ColorSpaceKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4 :: Ptr ColorSpaceKHR))
SurfaceFormatKHR -> IO SurfaceFormatKHR
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (SurfaceFormatKHR -> IO SurfaceFormatKHR)
-> SurfaceFormatKHR -> IO SurfaceFormatKHR
forall a b. (a -> b) -> a -> b
$ Format -> ColorSpaceKHR -> SurfaceFormatKHR
SurfaceFormatKHR
Format
format ColorSpaceKHR
colorSpace
instance Storable SurfaceFormatKHR where
sizeOf :: SurfaceFormatKHR -> Int
sizeOf ~SurfaceFormatKHR
_ = Int
8
alignment :: SurfaceFormatKHR -> Int
alignment ~SurfaceFormatKHR
_ = Int
4
peek :: Ptr SurfaceFormatKHR -> IO SurfaceFormatKHR
peek = Ptr SurfaceFormatKHR -> IO SurfaceFormatKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr SurfaceFormatKHR -> SurfaceFormatKHR -> IO ()
poke Ptr SurfaceFormatKHR
ptr SurfaceFormatKHR
poked = Ptr SurfaceFormatKHR -> SurfaceFormatKHR -> IO () -> IO ()
forall b. Ptr SurfaceFormatKHR -> SurfaceFormatKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr SurfaceFormatKHR
ptr SurfaceFormatKHR
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero SurfaceFormatKHR where
zero :: SurfaceFormatKHR
zero = Format -> ColorSpaceKHR -> SurfaceFormatKHR
SurfaceFormatKHR
Format
forall a. Zero a => a
zero
ColorSpaceKHR
forall a. Zero a => a
zero
newtype PresentModeKHR = PresentModeKHR Int32
deriving newtype (PresentModeKHR -> PresentModeKHR -> Bool
(PresentModeKHR -> PresentModeKHR -> Bool)
-> (PresentModeKHR -> PresentModeKHR -> Bool) -> Eq PresentModeKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PresentModeKHR -> PresentModeKHR -> Bool
== :: PresentModeKHR -> PresentModeKHR -> Bool
$c/= :: PresentModeKHR -> PresentModeKHR -> Bool
/= :: PresentModeKHR -> PresentModeKHR -> Bool
Eq, Eq PresentModeKHR
Eq PresentModeKHR =>
(PresentModeKHR -> PresentModeKHR -> Ordering)
-> (PresentModeKHR -> PresentModeKHR -> Bool)
-> (PresentModeKHR -> PresentModeKHR -> Bool)
-> (PresentModeKHR -> PresentModeKHR -> Bool)
-> (PresentModeKHR -> PresentModeKHR -> Bool)
-> (PresentModeKHR -> PresentModeKHR -> PresentModeKHR)
-> (PresentModeKHR -> PresentModeKHR -> PresentModeKHR)
-> Ord PresentModeKHR
PresentModeKHR -> PresentModeKHR -> Bool
PresentModeKHR -> PresentModeKHR -> Ordering
PresentModeKHR -> PresentModeKHR -> PresentModeKHR
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PresentModeKHR -> PresentModeKHR -> Ordering
compare :: PresentModeKHR -> PresentModeKHR -> Ordering
$c< :: PresentModeKHR -> PresentModeKHR -> Bool
< :: PresentModeKHR -> PresentModeKHR -> Bool
$c<= :: PresentModeKHR -> PresentModeKHR -> Bool
<= :: PresentModeKHR -> PresentModeKHR -> Bool
$c> :: PresentModeKHR -> PresentModeKHR -> Bool
> :: PresentModeKHR -> PresentModeKHR -> Bool
$c>= :: PresentModeKHR -> PresentModeKHR -> Bool
>= :: PresentModeKHR -> PresentModeKHR -> Bool
$cmax :: PresentModeKHR -> PresentModeKHR -> PresentModeKHR
max :: PresentModeKHR -> PresentModeKHR -> PresentModeKHR
$cmin :: PresentModeKHR -> PresentModeKHR -> PresentModeKHR
min :: PresentModeKHR -> PresentModeKHR -> PresentModeKHR
Ord, Ptr PresentModeKHR -> IO PresentModeKHR
Ptr PresentModeKHR -> Int -> IO PresentModeKHR
Ptr PresentModeKHR -> Int -> PresentModeKHR -> IO ()
Ptr PresentModeKHR -> PresentModeKHR -> IO ()
PresentModeKHR -> Int
(PresentModeKHR -> Int)
-> (PresentModeKHR -> Int)
-> (Ptr PresentModeKHR -> Int -> IO PresentModeKHR)
-> (Ptr PresentModeKHR -> Int -> PresentModeKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO PresentModeKHR)
-> (forall b. Ptr b -> Int -> PresentModeKHR -> IO ())
-> (Ptr PresentModeKHR -> IO PresentModeKHR)
-> (Ptr PresentModeKHR -> PresentModeKHR -> IO ())
-> Storable PresentModeKHR
forall b. Ptr b -> Int -> IO PresentModeKHR
forall b. Ptr b -> Int -> PresentModeKHR -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
$csizeOf :: PresentModeKHR -> Int
sizeOf :: PresentModeKHR -> Int
$calignment :: PresentModeKHR -> Int
alignment :: PresentModeKHR -> Int
$cpeekElemOff :: Ptr PresentModeKHR -> Int -> IO PresentModeKHR
peekElemOff :: Ptr PresentModeKHR -> Int -> IO PresentModeKHR
$cpokeElemOff :: Ptr PresentModeKHR -> Int -> PresentModeKHR -> IO ()
pokeElemOff :: Ptr PresentModeKHR -> Int -> PresentModeKHR -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PresentModeKHR
peekByteOff :: forall b. Ptr b -> Int -> IO PresentModeKHR
$cpokeByteOff :: forall b. Ptr b -> Int -> PresentModeKHR -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> PresentModeKHR -> IO ()
$cpeek :: Ptr PresentModeKHR -> IO PresentModeKHR
peek :: Ptr PresentModeKHR -> IO PresentModeKHR
$cpoke :: Ptr PresentModeKHR -> PresentModeKHR -> IO ()
poke :: Ptr PresentModeKHR -> PresentModeKHR -> IO ()
Storable, PresentModeKHR
PresentModeKHR -> Zero PresentModeKHR
forall a. a -> Zero a
$czero :: PresentModeKHR
zero :: PresentModeKHR
Zero)
pattern $bPRESENT_MODE_IMMEDIATE_KHR :: PresentModeKHR
$mPRESENT_MODE_IMMEDIATE_KHR :: forall {r}. PresentModeKHR -> ((# #) -> r) -> ((# #) -> r) -> r
PRESENT_MODE_IMMEDIATE_KHR = PresentModeKHR 0
pattern $bPRESENT_MODE_MAILBOX_KHR :: PresentModeKHR
$mPRESENT_MODE_MAILBOX_KHR :: forall {r}. PresentModeKHR -> ((# #) -> r) -> ((# #) -> r) -> r
PRESENT_MODE_MAILBOX_KHR = PresentModeKHR 1
pattern $bPRESENT_MODE_FIFO_KHR :: PresentModeKHR
$mPRESENT_MODE_FIFO_KHR :: forall {r}. PresentModeKHR -> ((# #) -> r) -> ((# #) -> r) -> r
PRESENT_MODE_FIFO_KHR = PresentModeKHR 2
pattern $bPRESENT_MODE_FIFO_RELAXED_KHR :: PresentModeKHR
$mPRESENT_MODE_FIFO_RELAXED_KHR :: forall {r}. PresentModeKHR -> ((# #) -> r) -> ((# #) -> r) -> r
PRESENT_MODE_FIFO_RELAXED_KHR = PresentModeKHR 3
pattern $bPRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR :: PresentModeKHR
$mPRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR :: forall {r}. PresentModeKHR -> ((# #) -> r) -> ((# #) -> r) -> r
PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = PresentModeKHR 1000111001
pattern $bPRESENT_MODE_SHARED_DEMAND_REFRESH_KHR :: PresentModeKHR
$mPRESENT_MODE_SHARED_DEMAND_REFRESH_KHR :: forall {r}. PresentModeKHR -> ((# #) -> r) -> ((# #) -> r) -> r
PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = PresentModeKHR 1000111000
{-# COMPLETE
PRESENT_MODE_IMMEDIATE_KHR
, PRESENT_MODE_MAILBOX_KHR
, PRESENT_MODE_FIFO_KHR
, PRESENT_MODE_FIFO_RELAXED_KHR
, PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
, PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR ::
PresentModeKHR
#-}
conNamePresentModeKHR :: String
conNamePresentModeKHR :: String
conNamePresentModeKHR = String
"PresentModeKHR"
enumPrefixPresentModeKHR :: String
enumPrefixPresentModeKHR :: String
enumPrefixPresentModeKHR = String
"PRESENT_MODE_"
showTablePresentModeKHR :: [(PresentModeKHR, String)]
showTablePresentModeKHR :: [(PresentModeKHR, String)]
showTablePresentModeKHR =
[ (PresentModeKHR
PRESENT_MODE_IMMEDIATE_KHR, String
"IMMEDIATE_KHR")
, (PresentModeKHR
PRESENT_MODE_MAILBOX_KHR, String
"MAILBOX_KHR")
, (PresentModeKHR
PRESENT_MODE_FIFO_KHR, String
"FIFO_KHR")
, (PresentModeKHR
PRESENT_MODE_FIFO_RELAXED_KHR, String
"FIFO_RELAXED_KHR")
,
( PresentModeKHR
PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
, String
"SHARED_CONTINUOUS_REFRESH_KHR"
)
,
( PresentModeKHR
PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR
, String
"SHARED_DEMAND_REFRESH_KHR"
)
]
instance Show PresentModeKHR where
showsPrec :: Int -> PresentModeKHR -> ShowS
showsPrec =
String
-> [(PresentModeKHR, String)]
-> String
-> (PresentModeKHR -> Int32)
-> (Int32 -> ShowS)
-> Int
-> PresentModeKHR
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixPresentModeKHR
[(PresentModeKHR, String)]
showTablePresentModeKHR
String
conNamePresentModeKHR
(\(PresentModeKHR Int32
x) -> Int32
x)
(Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11)
instance Read PresentModeKHR where
readPrec :: ReadPrec PresentModeKHR
readPrec =
String
-> [(PresentModeKHR, String)]
-> String
-> (Int32 -> PresentModeKHR)
-> ReadPrec PresentModeKHR
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixPresentModeKHR
[(PresentModeKHR, String)]
showTablePresentModeKHR
String
conNamePresentModeKHR
Int32 -> PresentModeKHR
PresentModeKHR
newtype ColorSpaceKHR = ColorSpaceKHR Int32
deriving newtype (ColorSpaceKHR -> ColorSpaceKHR -> Bool
(ColorSpaceKHR -> ColorSpaceKHR -> Bool)
-> (ColorSpaceKHR -> ColorSpaceKHR -> Bool) -> Eq ColorSpaceKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ColorSpaceKHR -> ColorSpaceKHR -> Bool
== :: ColorSpaceKHR -> ColorSpaceKHR -> Bool
$c/= :: ColorSpaceKHR -> ColorSpaceKHR -> Bool
/= :: ColorSpaceKHR -> ColorSpaceKHR -> Bool
Eq, Eq ColorSpaceKHR
Eq ColorSpaceKHR =>
(ColorSpaceKHR -> ColorSpaceKHR -> Ordering)
-> (ColorSpaceKHR -> ColorSpaceKHR -> Bool)
-> (ColorSpaceKHR -> ColorSpaceKHR -> Bool)
-> (ColorSpaceKHR -> ColorSpaceKHR -> Bool)
-> (ColorSpaceKHR -> ColorSpaceKHR -> Bool)
-> (ColorSpaceKHR -> ColorSpaceKHR -> ColorSpaceKHR)
-> (ColorSpaceKHR -> ColorSpaceKHR -> ColorSpaceKHR)
-> Ord ColorSpaceKHR
ColorSpaceKHR -> ColorSpaceKHR -> Bool
ColorSpaceKHR -> ColorSpaceKHR -> Ordering
ColorSpaceKHR -> ColorSpaceKHR -> ColorSpaceKHR
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: ColorSpaceKHR -> ColorSpaceKHR -> Ordering
compare :: ColorSpaceKHR -> ColorSpaceKHR -> Ordering
$c< :: ColorSpaceKHR -> ColorSpaceKHR -> Bool
< :: ColorSpaceKHR -> ColorSpaceKHR -> Bool
$c<= :: ColorSpaceKHR -> ColorSpaceKHR -> Bool
<= :: ColorSpaceKHR -> ColorSpaceKHR -> Bool
$c> :: ColorSpaceKHR -> ColorSpaceKHR -> Bool
> :: ColorSpaceKHR -> ColorSpaceKHR -> Bool
$c>= :: ColorSpaceKHR -> ColorSpaceKHR -> Bool
>= :: ColorSpaceKHR -> ColorSpaceKHR -> Bool
$cmax :: ColorSpaceKHR -> ColorSpaceKHR -> ColorSpaceKHR
max :: ColorSpaceKHR -> ColorSpaceKHR -> ColorSpaceKHR
$cmin :: ColorSpaceKHR -> ColorSpaceKHR -> ColorSpaceKHR
min :: ColorSpaceKHR -> ColorSpaceKHR -> ColorSpaceKHR
Ord, Ptr ColorSpaceKHR -> IO ColorSpaceKHR
Ptr ColorSpaceKHR -> Int -> IO ColorSpaceKHR
Ptr ColorSpaceKHR -> Int -> ColorSpaceKHR -> IO ()
Ptr ColorSpaceKHR -> ColorSpaceKHR -> IO ()
ColorSpaceKHR -> Int
(ColorSpaceKHR -> Int)
-> (ColorSpaceKHR -> Int)
-> (Ptr ColorSpaceKHR -> Int -> IO ColorSpaceKHR)
-> (Ptr ColorSpaceKHR -> Int -> ColorSpaceKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO ColorSpaceKHR)
-> (forall b. Ptr b -> Int -> ColorSpaceKHR -> IO ())
-> (Ptr ColorSpaceKHR -> IO ColorSpaceKHR)
-> (Ptr ColorSpaceKHR -> ColorSpaceKHR -> IO ())
-> Storable ColorSpaceKHR
forall b. Ptr b -> Int -> IO ColorSpaceKHR
forall b. Ptr b -> Int -> ColorSpaceKHR -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
$csizeOf :: ColorSpaceKHR -> Int
sizeOf :: ColorSpaceKHR -> Int
$calignment :: ColorSpaceKHR -> Int
alignment :: ColorSpaceKHR -> Int
$cpeekElemOff :: Ptr ColorSpaceKHR -> Int -> IO ColorSpaceKHR
peekElemOff :: Ptr ColorSpaceKHR -> Int -> IO ColorSpaceKHR
$cpokeElemOff :: Ptr ColorSpaceKHR -> Int -> ColorSpaceKHR -> IO ()
pokeElemOff :: Ptr ColorSpaceKHR -> Int -> ColorSpaceKHR -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ColorSpaceKHR
peekByteOff :: forall b. Ptr b -> Int -> IO ColorSpaceKHR
$cpokeByteOff :: forall b. Ptr b -> Int -> ColorSpaceKHR -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> ColorSpaceKHR -> IO ()
$cpeek :: Ptr ColorSpaceKHR -> IO ColorSpaceKHR
peek :: Ptr ColorSpaceKHR -> IO ColorSpaceKHR
$cpoke :: Ptr ColorSpaceKHR -> ColorSpaceKHR -> IO ()
poke :: Ptr ColorSpaceKHR -> ColorSpaceKHR -> IO ()
Storable, ColorSpaceKHR
ColorSpaceKHR -> Zero ColorSpaceKHR
forall a. a -> Zero a
$czero :: ColorSpaceKHR
zero :: ColorSpaceKHR
Zero)
pattern $bCOLOR_SPACE_SRGB_NONLINEAR_KHR :: ColorSpaceKHR
$mCOLOR_SPACE_SRGB_NONLINEAR_KHR :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLOR_SPACE_SRGB_NONLINEAR_KHR = ColorSpaceKHR 0
pattern $bCOLOR_SPACE_DISPLAY_NATIVE_AMD :: ColorSpaceKHR
$mCOLOR_SPACE_DISPLAY_NATIVE_AMD :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLOR_SPACE_DISPLAY_NATIVE_AMD = ColorSpaceKHR 1000213000
pattern $bCOLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT :: ColorSpaceKHR
$mCOLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = ColorSpaceKHR 1000104014
pattern $bCOLOR_SPACE_PASS_THROUGH_EXT :: ColorSpaceKHR
$mCOLOR_SPACE_PASS_THROUGH_EXT :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLOR_SPACE_PASS_THROUGH_EXT = ColorSpaceKHR 1000104013
pattern $bCOLOR_SPACE_ADOBERGB_NONLINEAR_EXT :: ColorSpaceKHR
$mCOLOR_SPACE_ADOBERGB_NONLINEAR_EXT :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = ColorSpaceKHR 1000104012
pattern $bCOLOR_SPACE_ADOBERGB_LINEAR_EXT :: ColorSpaceKHR
$mCOLOR_SPACE_ADOBERGB_LINEAR_EXT :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLOR_SPACE_ADOBERGB_LINEAR_EXT = ColorSpaceKHR 1000104011
pattern $bCOLOR_SPACE_HDR10_HLG_EXT :: ColorSpaceKHR
$mCOLOR_SPACE_HDR10_HLG_EXT :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLOR_SPACE_HDR10_HLG_EXT = ColorSpaceKHR 1000104010
pattern $bCOLOR_SPACE_DOLBYVISION_EXT :: ColorSpaceKHR
$mCOLOR_SPACE_DOLBYVISION_EXT :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLOR_SPACE_DOLBYVISION_EXT = ColorSpaceKHR 1000104009
pattern $bCOLOR_SPACE_HDR10_ST2084_EXT :: ColorSpaceKHR
$mCOLOR_SPACE_HDR10_ST2084_EXT :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLOR_SPACE_HDR10_ST2084_EXT = ColorSpaceKHR 1000104008
pattern $bCOLOR_SPACE_BT2020_LINEAR_EXT :: ColorSpaceKHR
$mCOLOR_SPACE_BT2020_LINEAR_EXT :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLOR_SPACE_BT2020_LINEAR_EXT = ColorSpaceKHR 1000104007
pattern $bCOLOR_SPACE_BT709_NONLINEAR_EXT :: ColorSpaceKHR
$mCOLOR_SPACE_BT709_NONLINEAR_EXT :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLOR_SPACE_BT709_NONLINEAR_EXT = ColorSpaceKHR 1000104006
pattern $bCOLOR_SPACE_BT709_LINEAR_EXT :: ColorSpaceKHR
$mCOLOR_SPACE_BT709_LINEAR_EXT :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLOR_SPACE_BT709_LINEAR_EXT = ColorSpaceKHR 1000104005
pattern $bCOLOR_SPACE_DCI_P3_NONLINEAR_EXT :: ColorSpaceKHR
$mCOLOR_SPACE_DCI_P3_NONLINEAR_EXT :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLOR_SPACE_DCI_P3_NONLINEAR_EXT = ColorSpaceKHR 1000104004
pattern $bCOLOR_SPACE_DISPLAY_P3_LINEAR_EXT :: ColorSpaceKHR
$mCOLOR_SPACE_DISPLAY_P3_LINEAR_EXT :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = ColorSpaceKHR 1000104003
pattern $bCOLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT :: ColorSpaceKHR
$mCOLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = ColorSpaceKHR 1000104002
pattern $bCOLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT :: ColorSpaceKHR
$mCOLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT :: forall {r}. ColorSpaceKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = ColorSpaceKHR 1000104001
{-# COMPLETE
COLOR_SPACE_SRGB_NONLINEAR_KHR
, COLOR_SPACE_DISPLAY_NATIVE_AMD
, COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT
, COLOR_SPACE_PASS_THROUGH_EXT
, COLOR_SPACE_ADOBERGB_NONLINEAR_EXT
, COLOR_SPACE_ADOBERGB_LINEAR_EXT
, COLOR_SPACE_HDR10_HLG_EXT
, COLOR_SPACE_DOLBYVISION_EXT
, COLOR_SPACE_HDR10_ST2084_EXT
, COLOR_SPACE_BT2020_LINEAR_EXT
, COLOR_SPACE_BT709_NONLINEAR_EXT
, COLOR_SPACE_BT709_LINEAR_EXT
, COLOR_SPACE_DCI_P3_NONLINEAR_EXT
, COLOR_SPACE_DISPLAY_P3_LINEAR_EXT
, COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT
, COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT ::
ColorSpaceKHR
#-}
conNameColorSpaceKHR :: String
conNameColorSpaceKHR :: String
conNameColorSpaceKHR = String
"ColorSpaceKHR"
enumPrefixColorSpaceKHR :: String
enumPrefixColorSpaceKHR :: String
enumPrefixColorSpaceKHR = String
"COLOR_SPACE_"
showTableColorSpaceKHR :: [(ColorSpaceKHR, String)]
showTableColorSpaceKHR :: [(ColorSpaceKHR, String)]
showTableColorSpaceKHR =
[
( ColorSpaceKHR
COLOR_SPACE_SRGB_NONLINEAR_KHR
, String
"SRGB_NONLINEAR_KHR"
)
,
( ColorSpaceKHR
COLOR_SPACE_DISPLAY_NATIVE_AMD
, String
"DISPLAY_NATIVE_AMD"
)
,
( ColorSpaceKHR
COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT
, String
"EXTENDED_SRGB_NONLINEAR_EXT"
)
, (ColorSpaceKHR
COLOR_SPACE_PASS_THROUGH_EXT, String
"PASS_THROUGH_EXT")
,
( ColorSpaceKHR
COLOR_SPACE_ADOBERGB_NONLINEAR_EXT
, String
"ADOBERGB_NONLINEAR_EXT"
)
,
( ColorSpaceKHR
COLOR_SPACE_ADOBERGB_LINEAR_EXT
, String
"ADOBERGB_LINEAR_EXT"
)
, (ColorSpaceKHR
COLOR_SPACE_HDR10_HLG_EXT, String
"HDR10_HLG_EXT")
, (ColorSpaceKHR
COLOR_SPACE_DOLBYVISION_EXT, String
"DOLBYVISION_EXT")
, (ColorSpaceKHR
COLOR_SPACE_HDR10_ST2084_EXT, String
"HDR10_ST2084_EXT")
, (ColorSpaceKHR
COLOR_SPACE_BT2020_LINEAR_EXT, String
"BT2020_LINEAR_EXT")
,
( ColorSpaceKHR
COLOR_SPACE_BT709_NONLINEAR_EXT
, String
"BT709_NONLINEAR_EXT"
)
, (ColorSpaceKHR
COLOR_SPACE_BT709_LINEAR_EXT, String
"BT709_LINEAR_EXT")
,
( ColorSpaceKHR
COLOR_SPACE_DCI_P3_NONLINEAR_EXT
, String
"DCI_P3_NONLINEAR_EXT"
)
,
( ColorSpaceKHR
COLOR_SPACE_DISPLAY_P3_LINEAR_EXT
, String
"DISPLAY_P3_LINEAR_EXT"
)
,
( ColorSpaceKHR
COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT
, String
"EXTENDED_SRGB_LINEAR_EXT"
)
,
( ColorSpaceKHR
COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT
, String
"DISPLAY_P3_NONLINEAR_EXT"
)
]
instance Show ColorSpaceKHR where
showsPrec :: Int -> ColorSpaceKHR -> ShowS
showsPrec =
String
-> [(ColorSpaceKHR, String)]
-> String
-> (ColorSpaceKHR -> Int32)
-> (Int32 -> ShowS)
-> Int
-> ColorSpaceKHR
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixColorSpaceKHR
[(ColorSpaceKHR, String)]
showTableColorSpaceKHR
String
conNameColorSpaceKHR
(\(ColorSpaceKHR Int32
x) -> Int32
x)
(Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11)
instance Read ColorSpaceKHR where
readPrec :: ReadPrec ColorSpaceKHR
readPrec =
String
-> [(ColorSpaceKHR, String)]
-> String
-> (Int32 -> ColorSpaceKHR)
-> ReadPrec ColorSpaceKHR
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixColorSpaceKHR
[(ColorSpaceKHR, String)]
showTableColorSpaceKHR
String
conNameColorSpaceKHR
Int32 -> ColorSpaceKHR
ColorSpaceKHR
type CompositeAlphaFlagsKHR = CompositeAlphaFlagBitsKHR
newtype CompositeAlphaFlagBitsKHR = CompositeAlphaFlagBitsKHR Flags
deriving newtype (CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool
(CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool)
-> (CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool)
-> Eq CompositeAlphaFlagsKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool
== :: CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool
$c/= :: CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool
/= :: CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool
Eq, Eq CompositeAlphaFlagsKHR
Eq CompositeAlphaFlagsKHR =>
(CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Ordering)
-> (CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool)
-> (CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool)
-> (CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool)
-> (CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool)
-> (CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR)
-> (CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR)
-> Ord CompositeAlphaFlagsKHR
CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool
CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Ordering
CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Ordering
compare :: CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Ordering
$c< :: CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool
< :: CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool
$c<= :: CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool
<= :: CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool
$c> :: CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool
> :: CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool
$c>= :: CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool
>= :: CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> Bool
$cmax :: CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR
max :: CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR
$cmin :: CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR
min :: CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR
Ord, Ptr CompositeAlphaFlagsKHR -> IO CompositeAlphaFlagsKHR
Ptr CompositeAlphaFlagsKHR -> Int -> IO CompositeAlphaFlagsKHR
Ptr CompositeAlphaFlagsKHR
-> Int -> CompositeAlphaFlagsKHR -> IO ()
Ptr CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> IO ()
CompositeAlphaFlagsKHR -> Int
(CompositeAlphaFlagsKHR -> Int)
-> (CompositeAlphaFlagsKHR -> Int)
-> (Ptr CompositeAlphaFlagsKHR -> Int -> IO CompositeAlphaFlagsKHR)
-> (Ptr CompositeAlphaFlagsKHR
-> Int -> CompositeAlphaFlagsKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO CompositeAlphaFlagsKHR)
-> (forall b. Ptr b -> Int -> CompositeAlphaFlagsKHR -> IO ())
-> (Ptr CompositeAlphaFlagsKHR -> IO CompositeAlphaFlagsKHR)
-> (Ptr CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> IO ())
-> Storable CompositeAlphaFlagsKHR
forall b. Ptr b -> Int -> IO CompositeAlphaFlagsKHR
forall b. Ptr b -> Int -> CompositeAlphaFlagsKHR -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
$csizeOf :: CompositeAlphaFlagsKHR -> Int
sizeOf :: CompositeAlphaFlagsKHR -> Int
$calignment :: CompositeAlphaFlagsKHR -> Int
alignment :: CompositeAlphaFlagsKHR -> Int
$cpeekElemOff :: Ptr CompositeAlphaFlagsKHR -> Int -> IO CompositeAlphaFlagsKHR
peekElemOff :: Ptr CompositeAlphaFlagsKHR -> Int -> IO CompositeAlphaFlagsKHR
$cpokeElemOff :: Ptr CompositeAlphaFlagsKHR
-> Int -> CompositeAlphaFlagsKHR -> IO ()
pokeElemOff :: Ptr CompositeAlphaFlagsKHR
-> Int -> CompositeAlphaFlagsKHR -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO CompositeAlphaFlagsKHR
peekByteOff :: forall b. Ptr b -> Int -> IO CompositeAlphaFlagsKHR
$cpokeByteOff :: forall b. Ptr b -> Int -> CompositeAlphaFlagsKHR -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> CompositeAlphaFlagsKHR -> IO ()
$cpeek :: Ptr CompositeAlphaFlagsKHR -> IO CompositeAlphaFlagsKHR
peek :: Ptr CompositeAlphaFlagsKHR -> IO CompositeAlphaFlagsKHR
$cpoke :: Ptr CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> IO ()
poke :: Ptr CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR -> IO ()
Storable, CompositeAlphaFlagsKHR
CompositeAlphaFlagsKHR -> Zero CompositeAlphaFlagsKHR
forall a. a -> Zero a
$czero :: CompositeAlphaFlagsKHR
zero :: CompositeAlphaFlagsKHR
Zero, Eq CompositeAlphaFlagsKHR
CompositeAlphaFlagsKHR
Eq CompositeAlphaFlagsKHR =>
(CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR)
-> (CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR)
-> (CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR)
-> (CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR)
-> (CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR)
-> (CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR)
-> CompositeAlphaFlagsKHR
-> (Int -> CompositeAlphaFlagsKHR)
-> (CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR)
-> (CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR)
-> (CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR)
-> (CompositeAlphaFlagsKHR -> Int -> Bool)
-> (CompositeAlphaFlagsKHR -> Maybe Int)
-> (CompositeAlphaFlagsKHR -> Int)
-> (CompositeAlphaFlagsKHR -> Bool)
-> (CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR)
-> (CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR)
-> (CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR)
-> (CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR)
-> (CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR)
-> (CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR)
-> (CompositeAlphaFlagsKHR -> Int)
-> Bits CompositeAlphaFlagsKHR
Int -> CompositeAlphaFlagsKHR
CompositeAlphaFlagsKHR -> Bool
CompositeAlphaFlagsKHR -> Int
CompositeAlphaFlagsKHR -> Maybe Int
CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR
CompositeAlphaFlagsKHR -> Int -> Bool
CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR
forall a.
Eq a =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
$c.&. :: CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR
.&. :: CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR
$c.|. :: CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR
.|. :: CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR
$cxor :: CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR
xor :: CompositeAlphaFlagsKHR
-> CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR
$ccomplement :: CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR
complement :: CompositeAlphaFlagsKHR -> CompositeAlphaFlagsKHR
$cshift :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
shift :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
$crotate :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
rotate :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
$czeroBits :: CompositeAlphaFlagsKHR
zeroBits :: CompositeAlphaFlagsKHR
$cbit :: Int -> CompositeAlphaFlagsKHR
bit :: Int -> CompositeAlphaFlagsKHR
$csetBit :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
setBit :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
$cclearBit :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
clearBit :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
$ccomplementBit :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
complementBit :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
$ctestBit :: CompositeAlphaFlagsKHR -> Int -> Bool
testBit :: CompositeAlphaFlagsKHR -> Int -> Bool
$cbitSizeMaybe :: CompositeAlphaFlagsKHR -> Maybe Int
bitSizeMaybe :: CompositeAlphaFlagsKHR -> Maybe Int
$cbitSize :: CompositeAlphaFlagsKHR -> Int
bitSize :: CompositeAlphaFlagsKHR -> Int
$cisSigned :: CompositeAlphaFlagsKHR -> Bool
isSigned :: CompositeAlphaFlagsKHR -> Bool
$cshiftL :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
shiftL :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
$cunsafeShiftL :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
unsafeShiftL :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
$cshiftR :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
shiftR :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
$cunsafeShiftR :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
unsafeShiftR :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
$crotateL :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
rotateL :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
$crotateR :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
rotateR :: CompositeAlphaFlagsKHR -> Int -> CompositeAlphaFlagsKHR
$cpopCount :: CompositeAlphaFlagsKHR -> Int
popCount :: CompositeAlphaFlagsKHR -> Int
Bits, Bits CompositeAlphaFlagsKHR
Bits CompositeAlphaFlagsKHR =>
(CompositeAlphaFlagsKHR -> Int)
-> (CompositeAlphaFlagsKHR -> Int)
-> (CompositeAlphaFlagsKHR -> Int)
-> FiniteBits CompositeAlphaFlagsKHR
CompositeAlphaFlagsKHR -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: CompositeAlphaFlagsKHR -> Int
finiteBitSize :: CompositeAlphaFlagsKHR -> Int
$ccountLeadingZeros :: CompositeAlphaFlagsKHR -> Int
countLeadingZeros :: CompositeAlphaFlagsKHR -> Int
$ccountTrailingZeros :: CompositeAlphaFlagsKHR -> Int
countTrailingZeros :: CompositeAlphaFlagsKHR -> Int
FiniteBits)
pattern $bCOMPOSITE_ALPHA_OPAQUE_BIT_KHR :: CompositeAlphaFlagsKHR
$mCOMPOSITE_ALPHA_OPAQUE_BIT_KHR :: forall {r}.
CompositeAlphaFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COMPOSITE_ALPHA_OPAQUE_BIT_KHR = CompositeAlphaFlagBitsKHR 0x00000001
pattern $bCOMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagsKHR
$mCOMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: forall {r}.
CompositeAlphaFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = CompositeAlphaFlagBitsKHR 0x00000002
pattern $bCOMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagsKHR
$mCOMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: forall {r}.
CompositeAlphaFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = CompositeAlphaFlagBitsKHR 0x00000004
pattern $bCOMPOSITE_ALPHA_INHERIT_BIT_KHR :: CompositeAlphaFlagsKHR
$mCOMPOSITE_ALPHA_INHERIT_BIT_KHR :: forall {r}.
CompositeAlphaFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
COMPOSITE_ALPHA_INHERIT_BIT_KHR = CompositeAlphaFlagBitsKHR 0x00000008
conNameCompositeAlphaFlagBitsKHR :: String
conNameCompositeAlphaFlagBitsKHR :: String
conNameCompositeAlphaFlagBitsKHR = String
"CompositeAlphaFlagBitsKHR"
enumPrefixCompositeAlphaFlagBitsKHR :: String
enumPrefixCompositeAlphaFlagBitsKHR :: String
enumPrefixCompositeAlphaFlagBitsKHR = String
"COMPOSITE_ALPHA_"
showTableCompositeAlphaFlagBitsKHR :: [(CompositeAlphaFlagBitsKHR, String)]
showTableCompositeAlphaFlagBitsKHR :: [(CompositeAlphaFlagsKHR, String)]
showTableCompositeAlphaFlagBitsKHR =
[
( CompositeAlphaFlagsKHR
COMPOSITE_ALPHA_OPAQUE_BIT_KHR
, String
"OPAQUE_BIT_KHR"
)
,
( CompositeAlphaFlagsKHR
COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR
, String
"PRE_MULTIPLIED_BIT_KHR"
)
,
( CompositeAlphaFlagsKHR
COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR
, String
"POST_MULTIPLIED_BIT_KHR"
)
,
( CompositeAlphaFlagsKHR
COMPOSITE_ALPHA_INHERIT_BIT_KHR
, String
"INHERIT_BIT_KHR"
)
]
instance Show CompositeAlphaFlagBitsKHR where
showsPrec :: Int -> CompositeAlphaFlagsKHR -> ShowS
showsPrec =
String
-> [(CompositeAlphaFlagsKHR, String)]
-> String
-> (CompositeAlphaFlagsKHR -> Flags)
-> (Flags -> ShowS)
-> Int
-> CompositeAlphaFlagsKHR
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixCompositeAlphaFlagBitsKHR
[(CompositeAlphaFlagsKHR, String)]
showTableCompositeAlphaFlagBitsKHR
String
conNameCompositeAlphaFlagBitsKHR
(\(CompositeAlphaFlagBitsKHR Flags
x) -> Flags
x)
(\Flags
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags -> ShowS
forall a. Integral a => a -> ShowS
showHex Flags
x)
instance Read CompositeAlphaFlagBitsKHR where
readPrec :: ReadPrec CompositeAlphaFlagsKHR
readPrec =
String
-> [(CompositeAlphaFlagsKHR, String)]
-> String
-> (Flags -> CompositeAlphaFlagsKHR)
-> ReadPrec CompositeAlphaFlagsKHR
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixCompositeAlphaFlagBitsKHR
[(CompositeAlphaFlagsKHR, String)]
showTableCompositeAlphaFlagBitsKHR
String
conNameCompositeAlphaFlagBitsKHR
Flags -> CompositeAlphaFlagsKHR
CompositeAlphaFlagBitsKHR
type SurfaceTransformFlagsKHR = SurfaceTransformFlagBitsKHR
newtype SurfaceTransformFlagBitsKHR = SurfaceTransformFlagBitsKHR Flags
deriving newtype (SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool
(SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool)
-> (SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool)
-> Eq SurfaceTransformFlagsKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool
== :: SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool
$c/= :: SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool
/= :: SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool
Eq, Eq SurfaceTransformFlagsKHR
Eq SurfaceTransformFlagsKHR =>
(SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Ordering)
-> (SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool)
-> (SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool)
-> (SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool)
-> (SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool)
-> (SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR)
-> (SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR)
-> Ord SurfaceTransformFlagsKHR
SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool
SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Ordering
SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Ordering
compare :: SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Ordering
$c< :: SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool
< :: SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool
$c<= :: SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool
<= :: SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool
$c> :: SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool
> :: SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool
$c>= :: SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool
>= :: SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> Bool
$cmax :: SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR
max :: SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR
$cmin :: SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR
min :: SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR
Ord, Ptr SurfaceTransformFlagsKHR -> IO SurfaceTransformFlagsKHR
Ptr SurfaceTransformFlagsKHR -> Int -> IO SurfaceTransformFlagsKHR
Ptr SurfaceTransformFlagsKHR
-> Int -> SurfaceTransformFlagsKHR -> IO ()
Ptr SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> IO ()
SurfaceTransformFlagsKHR -> Int
(SurfaceTransformFlagsKHR -> Int)
-> (SurfaceTransformFlagsKHR -> Int)
-> (Ptr SurfaceTransformFlagsKHR
-> Int -> IO SurfaceTransformFlagsKHR)
-> (Ptr SurfaceTransformFlagsKHR
-> Int -> SurfaceTransformFlagsKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO SurfaceTransformFlagsKHR)
-> (forall b. Ptr b -> Int -> SurfaceTransformFlagsKHR -> IO ())
-> (Ptr SurfaceTransformFlagsKHR -> IO SurfaceTransformFlagsKHR)
-> (Ptr SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> IO ())
-> Storable SurfaceTransformFlagsKHR
forall b. Ptr b -> Int -> IO SurfaceTransformFlagsKHR
forall b. Ptr b -> Int -> SurfaceTransformFlagsKHR -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
$csizeOf :: SurfaceTransformFlagsKHR -> Int
sizeOf :: SurfaceTransformFlagsKHR -> Int
$calignment :: SurfaceTransformFlagsKHR -> Int
alignment :: SurfaceTransformFlagsKHR -> Int
$cpeekElemOff :: Ptr SurfaceTransformFlagsKHR -> Int -> IO SurfaceTransformFlagsKHR
peekElemOff :: Ptr SurfaceTransformFlagsKHR -> Int -> IO SurfaceTransformFlagsKHR
$cpokeElemOff :: Ptr SurfaceTransformFlagsKHR
-> Int -> SurfaceTransformFlagsKHR -> IO ()
pokeElemOff :: Ptr SurfaceTransformFlagsKHR
-> Int -> SurfaceTransformFlagsKHR -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO SurfaceTransformFlagsKHR
peekByteOff :: forall b. Ptr b -> Int -> IO SurfaceTransformFlagsKHR
$cpokeByteOff :: forall b. Ptr b -> Int -> SurfaceTransformFlagsKHR -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> SurfaceTransformFlagsKHR -> IO ()
$cpeek :: Ptr SurfaceTransformFlagsKHR -> IO SurfaceTransformFlagsKHR
peek :: Ptr SurfaceTransformFlagsKHR -> IO SurfaceTransformFlagsKHR
$cpoke :: Ptr SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> IO ()
poke :: Ptr SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR -> IO ()
Storable, SurfaceTransformFlagsKHR
SurfaceTransformFlagsKHR -> Zero SurfaceTransformFlagsKHR
forall a. a -> Zero a
$czero :: SurfaceTransformFlagsKHR
zero :: SurfaceTransformFlagsKHR
Zero, Eq SurfaceTransformFlagsKHR
SurfaceTransformFlagsKHR
Eq SurfaceTransformFlagsKHR =>
(SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR)
-> (SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR)
-> (SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR)
-> (SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR)
-> (SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR)
-> (SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR)
-> SurfaceTransformFlagsKHR
-> (Int -> SurfaceTransformFlagsKHR)
-> (SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR)
-> (SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR)
-> (SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR)
-> (SurfaceTransformFlagsKHR -> Int -> Bool)
-> (SurfaceTransformFlagsKHR -> Maybe Int)
-> (SurfaceTransformFlagsKHR -> Int)
-> (SurfaceTransformFlagsKHR -> Bool)
-> (SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR)
-> (SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR)
-> (SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR)
-> (SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR)
-> (SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR)
-> (SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR)
-> (SurfaceTransformFlagsKHR -> Int)
-> Bits SurfaceTransformFlagsKHR
Int -> SurfaceTransformFlagsKHR
SurfaceTransformFlagsKHR -> Bool
SurfaceTransformFlagsKHR -> Int
SurfaceTransformFlagsKHR -> Maybe Int
SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR
SurfaceTransformFlagsKHR -> Int -> Bool
SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR
forall a.
Eq a =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
$c.&. :: SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR
.&. :: SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR
$c.|. :: SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR
.|. :: SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR
$cxor :: SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR
xor :: SurfaceTransformFlagsKHR
-> SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR
$ccomplement :: SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR
complement :: SurfaceTransformFlagsKHR -> SurfaceTransformFlagsKHR
$cshift :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
shift :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
$crotate :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
rotate :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
$czeroBits :: SurfaceTransformFlagsKHR
zeroBits :: SurfaceTransformFlagsKHR
$cbit :: Int -> SurfaceTransformFlagsKHR
bit :: Int -> SurfaceTransformFlagsKHR
$csetBit :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
setBit :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
$cclearBit :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
clearBit :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
$ccomplementBit :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
complementBit :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
$ctestBit :: SurfaceTransformFlagsKHR -> Int -> Bool
testBit :: SurfaceTransformFlagsKHR -> Int -> Bool
$cbitSizeMaybe :: SurfaceTransformFlagsKHR -> Maybe Int
bitSizeMaybe :: SurfaceTransformFlagsKHR -> Maybe Int
$cbitSize :: SurfaceTransformFlagsKHR -> Int
bitSize :: SurfaceTransformFlagsKHR -> Int
$cisSigned :: SurfaceTransformFlagsKHR -> Bool
isSigned :: SurfaceTransformFlagsKHR -> Bool
$cshiftL :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
shiftL :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
$cunsafeShiftL :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
unsafeShiftL :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
$cshiftR :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
shiftR :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
$cunsafeShiftR :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
unsafeShiftR :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
$crotateL :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
rotateL :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
$crotateR :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
rotateR :: SurfaceTransformFlagsKHR -> Int -> SurfaceTransformFlagsKHR
$cpopCount :: SurfaceTransformFlagsKHR -> Int
popCount :: SurfaceTransformFlagsKHR -> Int
Bits, Bits SurfaceTransformFlagsKHR
Bits SurfaceTransformFlagsKHR =>
(SurfaceTransformFlagsKHR -> Int)
-> (SurfaceTransformFlagsKHR -> Int)
-> (SurfaceTransformFlagsKHR -> Int)
-> FiniteBits SurfaceTransformFlagsKHR
SurfaceTransformFlagsKHR -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: SurfaceTransformFlagsKHR -> Int
finiteBitSize :: SurfaceTransformFlagsKHR -> Int
$ccountLeadingZeros :: SurfaceTransformFlagsKHR -> Int
countLeadingZeros :: SurfaceTransformFlagsKHR -> Int
$ccountTrailingZeros :: SurfaceTransformFlagsKHR -> Int
countTrailingZeros :: SurfaceTransformFlagsKHR -> Int
FiniteBits)
pattern $bSURFACE_TRANSFORM_IDENTITY_BIT_KHR :: SurfaceTransformFlagsKHR
$mSURFACE_TRANSFORM_IDENTITY_BIT_KHR :: forall {r}.
SurfaceTransformFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
SURFACE_TRANSFORM_IDENTITY_BIT_KHR = SurfaceTransformFlagBitsKHR 0x00000001
pattern $bSURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: SurfaceTransformFlagsKHR
$mSURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: forall {r}.
SurfaceTransformFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = SurfaceTransformFlagBitsKHR 0x00000002
pattern $bSURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: SurfaceTransformFlagsKHR
$mSURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: forall {r}.
SurfaceTransformFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = SurfaceTransformFlagBitsKHR 0x00000004
pattern $bSURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: SurfaceTransformFlagsKHR
$mSURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: forall {r}.
SurfaceTransformFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = SurfaceTransformFlagBitsKHR 0x00000008
pattern $bSURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: SurfaceTransformFlagsKHR
$mSURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: forall {r}.
SurfaceTransformFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = SurfaceTransformFlagBitsKHR 0x00000010
pattern $bSURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: SurfaceTransformFlagsKHR
$mSURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: forall {r}.
SurfaceTransformFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = SurfaceTransformFlagBitsKHR 0x00000020
pattern $bSURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: SurfaceTransformFlagsKHR
$mSURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: forall {r}.
SurfaceTransformFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = SurfaceTransformFlagBitsKHR 0x00000040
pattern $bSURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: SurfaceTransformFlagsKHR
$mSURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: forall {r}.
SurfaceTransformFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = SurfaceTransformFlagBitsKHR 0x00000080
pattern $bSURFACE_TRANSFORM_INHERIT_BIT_KHR :: SurfaceTransformFlagsKHR
$mSURFACE_TRANSFORM_INHERIT_BIT_KHR :: forall {r}.
SurfaceTransformFlagsKHR -> ((# #) -> r) -> ((# #) -> r) -> r
SURFACE_TRANSFORM_INHERIT_BIT_KHR = SurfaceTransformFlagBitsKHR 0x00000100
conNameSurfaceTransformFlagBitsKHR :: String
conNameSurfaceTransformFlagBitsKHR :: String
conNameSurfaceTransformFlagBitsKHR = String
"SurfaceTransformFlagBitsKHR"
enumPrefixSurfaceTransformFlagBitsKHR :: String
enumPrefixSurfaceTransformFlagBitsKHR :: String
enumPrefixSurfaceTransformFlagBitsKHR = String
"SURFACE_TRANSFORM_"
showTableSurfaceTransformFlagBitsKHR :: [(SurfaceTransformFlagBitsKHR, String)]
showTableSurfaceTransformFlagBitsKHR :: [(SurfaceTransformFlagsKHR, String)]
showTableSurfaceTransformFlagBitsKHR =
[
( SurfaceTransformFlagsKHR
SURFACE_TRANSFORM_IDENTITY_BIT_KHR
, String
"IDENTITY_BIT_KHR"
)
,
( SurfaceTransformFlagsKHR
SURFACE_TRANSFORM_ROTATE_90_BIT_KHR
, String
"ROTATE_90_BIT_KHR"
)
,
( SurfaceTransformFlagsKHR
SURFACE_TRANSFORM_ROTATE_180_BIT_KHR
, String
"ROTATE_180_BIT_KHR"
)
,
( SurfaceTransformFlagsKHR
SURFACE_TRANSFORM_ROTATE_270_BIT_KHR
, String
"ROTATE_270_BIT_KHR"
)
,
( SurfaceTransformFlagsKHR
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR
, String
"HORIZONTAL_MIRROR_BIT_KHR"
)
,
( SurfaceTransformFlagsKHR
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR
, String
"HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR"
)
,
( SurfaceTransformFlagsKHR
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR
, String
"HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR"
)
,
( SurfaceTransformFlagsKHR
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR
, String
"HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR"
)
,
( SurfaceTransformFlagsKHR
SURFACE_TRANSFORM_INHERIT_BIT_KHR
, String
"INHERIT_BIT_KHR"
)
]
instance Show SurfaceTransformFlagBitsKHR where
showsPrec :: Int -> SurfaceTransformFlagsKHR -> ShowS
showsPrec =
String
-> [(SurfaceTransformFlagsKHR, String)]
-> String
-> (SurfaceTransformFlagsKHR -> Flags)
-> (Flags -> ShowS)
-> Int
-> SurfaceTransformFlagsKHR
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixSurfaceTransformFlagBitsKHR
[(SurfaceTransformFlagsKHR, String)]
showTableSurfaceTransformFlagBitsKHR
String
conNameSurfaceTransformFlagBitsKHR
(\(SurfaceTransformFlagBitsKHR Flags
x) -> Flags
x)
(\Flags
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags -> ShowS
forall a. Integral a => a -> ShowS
showHex Flags
x)
instance Read SurfaceTransformFlagBitsKHR where
readPrec :: ReadPrec SurfaceTransformFlagsKHR
readPrec =
String
-> [(SurfaceTransformFlagsKHR, String)]
-> String
-> (Flags -> SurfaceTransformFlagsKHR)
-> ReadPrec SurfaceTransformFlagsKHR
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixSurfaceTransformFlagBitsKHR
[(SurfaceTransformFlagsKHR, String)]
showTableSurfaceTransformFlagBitsKHR
String
conNameSurfaceTransformFlagBitsKHR
Flags -> SurfaceTransformFlagsKHR
SurfaceTransformFlagBitsKHR
type KHR_SURFACE_SPEC_VERSION = 25
pattern KHR_SURFACE_SPEC_VERSION :: forall a . Integral a => a
pattern $bKHR_SURFACE_SPEC_VERSION :: forall a. Integral a => a
$mKHR_SURFACE_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
KHR_SURFACE_SPEC_VERSION = 25
type KHR_SURFACE_EXTENSION_NAME = "VK_KHR_surface"
pattern KHR_SURFACE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bKHR_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
$mKHR_SURFACE_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
KHR_SURFACE_EXTENSION_NAME = "VK_KHR_surface"