{-# language CPP #-}
module Vulkan.Extensions.VK_NV_external_memory_capabilities ( getPhysicalDeviceExternalImageFormatPropertiesNV
, ExternalImageFormatPropertiesNV(..)
, ExternalMemoryHandleTypeFlagsNV
, ExternalMemoryHandleTypeFlagBitsNV( EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV
, EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV
, EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV
, EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV
, ..
)
, ExternalMemoryFeatureFlagsNV
, ExternalMemoryFeatureFlagBitsNV( EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV
, EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV
, EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV
, ..
)
, NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION
, pattern NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION
, NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME
, pattern NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME
) 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.Monad (unless)
import Control.Monad.IO.Class (liftIO)
import Foreign.Marshal.Alloc (allocaBytes)
import GHC.Base (when)
import GHC.IO (throwIO)
import GHC.Ptr (nullFunPtr)
import Foreign.Ptr (plusPtr)
import GHC.Show (showString)
import Numeric (showHex)
import Control.Monad.Trans.Class (lift)
import Control.Monad.Trans.Cont (evalContT)
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 Foreign.Ptr (FunPtr)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Kind (Type)
import Control.Monad.Trans.Cont (ContT(..))
import Vulkan.NamedType ((:::))
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Core10.Enums.Format (Format)
import Vulkan.Core10.Enums.Format (Format(..))
import Vulkan.Core10.Enums.ImageCreateFlagBits (ImageCreateFlagBits(..))
import Vulkan.Core10.Enums.ImageCreateFlagBits (ImageCreateFlags)
import Vulkan.Core10.DeviceInitialization (ImageFormatProperties)
import Vulkan.Core10.Enums.ImageTiling (ImageTiling)
import Vulkan.Core10.Enums.ImageTiling (ImageTiling(..))
import Vulkan.Core10.Enums.ImageType (ImageType)
import Vulkan.Core10.Enums.ImageType (ImageType(..))
import Vulkan.Core10.Enums.ImageUsageFlagBits (ImageUsageFlagBits(..))
import Vulkan.Core10.Enums.ImageUsageFlagBits (ImageUsageFlags)
import Vulkan.Dynamic (InstanceCmds(pVkGetPhysicalDeviceExternalImageFormatPropertiesNV))
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.Exception (VulkanException(..))
import Vulkan.Core10.Enums.Result (Result(SUCCESS))
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetPhysicalDeviceExternalImageFormatPropertiesNV
:: FunPtr (Ptr PhysicalDevice_T -> Format -> ImageType -> ImageTiling -> ImageUsageFlags -> ImageCreateFlags -> ExternalMemoryHandleTypeFlagsNV -> Ptr ExternalImageFormatPropertiesNV -> IO Result) -> Ptr PhysicalDevice_T -> Format -> ImageType -> ImageTiling -> ImageUsageFlags -> ImageCreateFlags -> ExternalMemoryHandleTypeFlagsNV -> Ptr ExternalImageFormatPropertiesNV -> IO Result
getPhysicalDeviceExternalImageFormatPropertiesNV :: forall io
. (MonadIO io)
=>
PhysicalDevice
->
Format
->
ImageType
->
ImageTiling
->
ImageUsageFlags
->
ImageCreateFlags
->
("externalHandleType" ::: ExternalMemoryHandleTypeFlagsNV)
-> io (ExternalImageFormatPropertiesNV)
getPhysicalDeviceExternalImageFormatPropertiesNV :: forall (io :: * -> *).
MonadIO io =>
PhysicalDevice
-> Format
-> ImageType
-> ImageTiling
-> ImageUsageFlags
-> ImageCreateFlags
-> ExternalMemoryHandleTypeFlagBitsNV
-> io ExternalImageFormatPropertiesNV
getPhysicalDeviceExternalImageFormatPropertiesNV PhysicalDevice
physicalDevice
Format
format
ImageType
type'
ImageTiling
tiling
ImageUsageFlags
usage
ImageCreateFlags
flags
ExternalMemoryHandleTypeFlagBitsNV
externalHandleType = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
let vkGetPhysicalDeviceExternalImageFormatPropertiesNVPtr :: FunPtr
(Ptr PhysicalDevice_T
-> Format
-> ImageType
-> ImageTiling
-> ImageUsageFlags
-> ImageCreateFlags
-> ExternalMemoryHandleTypeFlagBitsNV
-> ("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV)
-> IO Result)
vkGetPhysicalDeviceExternalImageFormatPropertiesNVPtr = InstanceCmds
-> FunPtr
(Ptr PhysicalDevice_T
-> Format
-> ImageType
-> ImageTiling
-> ImageUsageFlags
-> ImageCreateFlags
-> ExternalMemoryHandleTypeFlagBitsNV
-> ("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV)
-> IO Result)
pVkGetPhysicalDeviceExternalImageFormatPropertiesNV (case PhysicalDevice
physicalDevice of PhysicalDevice{InstanceCmds
$sel:instanceCmds:PhysicalDevice :: PhysicalDevice -> InstanceCmds
instanceCmds :: InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr PhysicalDevice_T
-> Format
-> ImageType
-> ImageTiling
-> ImageUsageFlags
-> ImageCreateFlags
-> ExternalMemoryHandleTypeFlagBitsNV
-> ("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV)
-> IO Result)
vkGetPhysicalDeviceExternalImageFormatPropertiesNVPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkGetPhysicalDeviceExternalImageFormatPropertiesNV is null" forall a. Maybe a
Nothing forall a. Maybe a
Nothing
let vkGetPhysicalDeviceExternalImageFormatPropertiesNV' :: Ptr PhysicalDevice_T
-> Format
-> ImageType
-> ImageTiling
-> ImageUsageFlags
-> ImageCreateFlags
-> ExternalMemoryHandleTypeFlagBitsNV
-> ("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV)
-> IO Result
vkGetPhysicalDeviceExternalImageFormatPropertiesNV' = FunPtr
(Ptr PhysicalDevice_T
-> Format
-> ImageType
-> ImageTiling
-> ImageUsageFlags
-> ImageCreateFlags
-> ExternalMemoryHandleTypeFlagBitsNV
-> ("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV)
-> IO Result)
-> Ptr PhysicalDevice_T
-> Format
-> ImageType
-> ImageTiling
-> ImageUsageFlags
-> ImageCreateFlags
-> ExternalMemoryHandleTypeFlagBitsNV
-> ("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV)
-> IO Result
mkVkGetPhysicalDeviceExternalImageFormatPropertiesNV FunPtr
(Ptr PhysicalDevice_T
-> Format
-> ImageType
-> ImageTiling
-> ImageUsageFlags
-> ImageCreateFlags
-> ExternalMemoryHandleTypeFlagBitsNV
-> ("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV)
-> IO Result)
vkGetPhysicalDeviceExternalImageFormatPropertiesNVPtr
"pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
pPExternalImageFormatProperties <- 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 @ExternalImageFormatPropertiesNV)
Result
r <- forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. String -> IO a -> IO a
traceAroundEvent String
"vkGetPhysicalDeviceExternalImageFormatPropertiesNV" (Ptr PhysicalDevice_T
-> Format
-> ImageType
-> ImageTiling
-> ImageUsageFlags
-> ImageCreateFlags
-> ExternalMemoryHandleTypeFlagBitsNV
-> ("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV)
-> IO Result
vkGetPhysicalDeviceExternalImageFormatPropertiesNV'
(PhysicalDevice -> Ptr PhysicalDevice_T
physicalDeviceHandle (PhysicalDevice
physicalDevice))
(Format
format)
(ImageType
type')
(ImageTiling
tiling)
(ImageUsageFlags
usage)
(ImageCreateFlags
flags)
(ExternalMemoryHandleTypeFlagBitsNV
externalHandleType)
("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
pPExternalImageFormatProperties))
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
when (Result
r forall a. Ord a => a -> a -> Bool
< Result
SUCCESS) (forall e a. Exception e => e -> IO a
throwIO (Result -> VulkanException
VulkanException Result
r))
ExternalImageFormatPropertiesNV
pExternalImageFormatProperties <- forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @ExternalImageFormatPropertiesNV "pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
pPExternalImageFormatProperties
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ (ExternalImageFormatPropertiesNV
pExternalImageFormatProperties)
data ExternalImageFormatPropertiesNV = ExternalImageFormatPropertiesNV
{
ExternalImageFormatPropertiesNV -> ImageFormatProperties
imageFormatProperties :: ImageFormatProperties
,
ExternalImageFormatPropertiesNV -> ExternalMemoryFeatureFlagBitsNV
externalMemoryFeatures :: ExternalMemoryFeatureFlagsNV
,
ExternalImageFormatPropertiesNV
-> ExternalMemoryHandleTypeFlagBitsNV
exportFromImportedHandleTypes :: ExternalMemoryHandleTypeFlagsNV
,
ExternalImageFormatPropertiesNV
-> ExternalMemoryHandleTypeFlagBitsNV
compatibleHandleTypes :: ExternalMemoryHandleTypeFlagsNV
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (ExternalImageFormatPropertiesNV)
#endif
deriving instance Show ExternalImageFormatPropertiesNV
instance ToCStruct ExternalImageFormatPropertiesNV where
withCStruct :: forall b.
ExternalImageFormatPropertiesNV
-> (("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV)
-> IO b)
-> IO b
withCStruct ExternalImageFormatPropertiesNV
x ("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV)
-> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
48 forall a b. (a -> b) -> a -> b
$ \"pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
p ExternalImageFormatPropertiesNV
x (("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV)
-> IO b
f "pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
p)
pokeCStruct :: forall b.
("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV)
-> ExternalImageFormatPropertiesNV -> IO b -> IO b
pokeCStruct "pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
p ExternalImageFormatPropertiesNV{ImageFormatProperties
ExternalMemoryHandleTypeFlagBitsNV
ExternalMemoryFeatureFlagBitsNV
compatibleHandleTypes :: ExternalMemoryHandleTypeFlagBitsNV
exportFromImportedHandleTypes :: ExternalMemoryHandleTypeFlagBitsNV
externalMemoryFeatures :: ExternalMemoryFeatureFlagBitsNV
imageFormatProperties :: ImageFormatProperties
$sel:compatibleHandleTypes:ExternalImageFormatPropertiesNV :: ExternalImageFormatPropertiesNV
-> ExternalMemoryHandleTypeFlagBitsNV
$sel:exportFromImportedHandleTypes:ExternalImageFormatPropertiesNV :: ExternalImageFormatPropertiesNV
-> ExternalMemoryHandleTypeFlagBitsNV
$sel:externalMemoryFeatures:ExternalImageFormatPropertiesNV :: ExternalImageFormatPropertiesNV -> ExternalMemoryFeatureFlagBitsNV
$sel:imageFormatProperties:ExternalImageFormatPropertiesNV :: ExternalImageFormatPropertiesNV -> ImageFormatProperties
..} IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr ImageFormatProperties)) (ImageFormatProperties
imageFormatProperties)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr ExternalMemoryFeatureFlagsNV)) (ExternalMemoryFeatureFlagBitsNV
externalMemoryFeatures)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr ExternalMemoryHandleTypeFlagsNV)) (ExternalMemoryHandleTypeFlagBitsNV
exportFromImportedHandleTypes)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr ExternalMemoryHandleTypeFlagsNV)) (ExternalMemoryHandleTypeFlagBitsNV
compatibleHandleTypes)
IO b
f
cStructSize :: Int
cStructSize = Int
48
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV)
-> IO b -> IO b
pokeZeroCStruct "pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr ImageFormatProperties)) (forall a. Zero a => a
zero)
IO b
f
instance FromCStruct ExternalImageFormatPropertiesNV where
peekCStruct :: ("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV)
-> IO ExternalImageFormatPropertiesNV
peekCStruct "pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
p = do
ImageFormatProperties
imageFormatProperties <- forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @ImageFormatProperties (("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr ImageFormatProperties))
ExternalMemoryFeatureFlagBitsNV
externalMemoryFeatures <- forall a. Storable a => Ptr a -> IO a
peek @ExternalMemoryFeatureFlagsNV (("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr ExternalMemoryFeatureFlagsNV))
ExternalMemoryHandleTypeFlagBitsNV
exportFromImportedHandleTypes <- forall a. Storable a => Ptr a -> IO a
peek @ExternalMemoryHandleTypeFlagsNV (("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr ExternalMemoryHandleTypeFlagsNV))
ExternalMemoryHandleTypeFlagBitsNV
compatibleHandleTypes <- forall a. Storable a => Ptr a -> IO a
peek @ExternalMemoryHandleTypeFlagsNV (("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr ExternalMemoryHandleTypeFlagsNV))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ ImageFormatProperties
-> ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
-> ExternalImageFormatPropertiesNV
ExternalImageFormatPropertiesNV
ImageFormatProperties
imageFormatProperties
ExternalMemoryFeatureFlagBitsNV
externalMemoryFeatures
ExternalMemoryHandleTypeFlagBitsNV
exportFromImportedHandleTypes
ExternalMemoryHandleTypeFlagBitsNV
compatibleHandleTypes
instance Storable ExternalImageFormatPropertiesNV where
sizeOf :: ExternalImageFormatPropertiesNV -> Int
sizeOf ~ExternalImageFormatPropertiesNV
_ = Int
48
alignment :: ExternalImageFormatPropertiesNV -> Int
alignment ~ExternalImageFormatPropertiesNV
_ = Int
8
peek :: ("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV)
-> IO ExternalImageFormatPropertiesNV
peek = forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: ("pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV)
-> ExternalImageFormatPropertiesNV -> IO ()
poke "pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
ptr ExternalImageFormatPropertiesNV
poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pExternalImageFormatProperties"
::: Ptr ExternalImageFormatPropertiesNV
ptr ExternalImageFormatPropertiesNV
poked (forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero ExternalImageFormatPropertiesNV where
zero :: ExternalImageFormatPropertiesNV
zero = ImageFormatProperties
-> ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
-> ExternalImageFormatPropertiesNV
ExternalImageFormatPropertiesNV
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
type ExternalMemoryHandleTypeFlagsNV = ExternalMemoryHandleTypeFlagBitsNV
newtype ExternalMemoryHandleTypeFlagBitsNV = ExternalMemoryHandleTypeFlagBitsNV Flags
deriving newtype (ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Bool
$c/= :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Bool
== :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Bool
$c== :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Bool
Eq, Eq ExternalMemoryHandleTypeFlagBitsNV
ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Bool
ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Ordering
ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
$cmin :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
max :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
$cmax :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
>= :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Bool
$c>= :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Bool
> :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Bool
$c> :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Bool
<= :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Bool
$c<= :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Bool
< :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Bool
$c< :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Bool
compare :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Ordering
$ccompare :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> Ordering
Ord, Ptr ExternalMemoryHandleTypeFlagBitsNV
-> IO ExternalMemoryHandleTypeFlagBitsNV
Ptr ExternalMemoryHandleTypeFlagBitsNV
-> Int -> IO ExternalMemoryHandleTypeFlagBitsNV
Ptr ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV -> IO ()
Ptr ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> IO ()
ExternalMemoryHandleTypeFlagBitsNV -> Int
forall b. Ptr b -> Int -> IO ExternalMemoryHandleTypeFlagBitsNV
forall b.
Ptr b -> Int -> ExternalMemoryHandleTypeFlagBitsNV -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> IO ()
$cpoke :: Ptr ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV -> IO ()
peek :: Ptr ExternalMemoryHandleTypeFlagBitsNV
-> IO ExternalMemoryHandleTypeFlagBitsNV
$cpeek :: Ptr ExternalMemoryHandleTypeFlagBitsNV
-> IO ExternalMemoryHandleTypeFlagBitsNV
pokeByteOff :: forall b.
Ptr b -> Int -> ExternalMemoryHandleTypeFlagBitsNV -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> ExternalMemoryHandleTypeFlagBitsNV -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO ExternalMemoryHandleTypeFlagBitsNV
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ExternalMemoryHandleTypeFlagBitsNV
pokeElemOff :: Ptr ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV -> IO ()
$cpokeElemOff :: Ptr ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV -> IO ()
peekElemOff :: Ptr ExternalMemoryHandleTypeFlagBitsNV
-> Int -> IO ExternalMemoryHandleTypeFlagBitsNV
$cpeekElemOff :: Ptr ExternalMemoryHandleTypeFlagBitsNV
-> Int -> IO ExternalMemoryHandleTypeFlagBitsNV
alignment :: ExternalMemoryHandleTypeFlagBitsNV -> Int
$calignment :: ExternalMemoryHandleTypeFlagBitsNV -> Int
sizeOf :: ExternalMemoryHandleTypeFlagBitsNV -> Int
$csizeOf :: ExternalMemoryHandleTypeFlagBitsNV -> Int
Storable, ExternalMemoryHandleTypeFlagBitsNV
forall a. a -> Zero a
zero :: ExternalMemoryHandleTypeFlagBitsNV
$czero :: ExternalMemoryHandleTypeFlagBitsNV
Zero, Eq ExternalMemoryHandleTypeFlagBitsNV
ExternalMemoryHandleTypeFlagBitsNV
Int -> ExternalMemoryHandleTypeFlagBitsNV
ExternalMemoryHandleTypeFlagBitsNV -> Bool
ExternalMemoryHandleTypeFlagBitsNV -> Int
ExternalMemoryHandleTypeFlagBitsNV -> Maybe Int
ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
ExternalMemoryHandleTypeFlagBitsNV -> Int -> Bool
ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
forall a.
Eq a
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
popCount :: ExternalMemoryHandleTypeFlagBitsNV -> Int
$cpopCount :: ExternalMemoryHandleTypeFlagBitsNV -> Int
rotateR :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
$crotateR :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
rotateL :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
$crotateL :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
unsafeShiftR :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
$cunsafeShiftR :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
shiftR :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
$cshiftR :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
unsafeShiftL :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
$cunsafeShiftL :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
shiftL :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
$cshiftL :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
isSigned :: ExternalMemoryHandleTypeFlagBitsNV -> Bool
$cisSigned :: ExternalMemoryHandleTypeFlagBitsNV -> Bool
bitSize :: ExternalMemoryHandleTypeFlagBitsNV -> Int
$cbitSize :: ExternalMemoryHandleTypeFlagBitsNV -> Int
bitSizeMaybe :: ExternalMemoryHandleTypeFlagBitsNV -> Maybe Int
$cbitSizeMaybe :: ExternalMemoryHandleTypeFlagBitsNV -> Maybe Int
testBit :: ExternalMemoryHandleTypeFlagBitsNV -> Int -> Bool
$ctestBit :: ExternalMemoryHandleTypeFlagBitsNV -> Int -> Bool
complementBit :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
$ccomplementBit :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
clearBit :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
$cclearBit :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
setBit :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
$csetBit :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
bit :: Int -> ExternalMemoryHandleTypeFlagBitsNV
$cbit :: Int -> ExternalMemoryHandleTypeFlagBitsNV
zeroBits :: ExternalMemoryHandleTypeFlagBitsNV
$czeroBits :: ExternalMemoryHandleTypeFlagBitsNV
rotate :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
$crotate :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
shift :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
$cshift :: ExternalMemoryHandleTypeFlagBitsNV
-> Int -> ExternalMemoryHandleTypeFlagBitsNV
complement :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
$ccomplement :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
xor :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
$cxor :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
.|. :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
$c.|. :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
.&. :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
$c.&. :: ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
-> ExternalMemoryHandleTypeFlagBitsNV
Bits, Bits ExternalMemoryHandleTypeFlagBitsNV
ExternalMemoryHandleTypeFlagBitsNV -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: ExternalMemoryHandleTypeFlagBitsNV -> Int
$ccountTrailingZeros :: ExternalMemoryHandleTypeFlagBitsNV -> Int
countLeadingZeros :: ExternalMemoryHandleTypeFlagBitsNV -> Int
$ccountLeadingZeros :: ExternalMemoryHandleTypeFlagBitsNV -> Int
finiteBitSize :: ExternalMemoryHandleTypeFlagBitsNV -> Int
$cfiniteBitSize :: ExternalMemoryHandleTypeFlagBitsNV -> Int
FiniteBits)
pattern $bEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV
$mEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: forall {r}.
ExternalMemoryHandleTypeFlagBitsNV
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = ExternalMemoryHandleTypeFlagBitsNV 0x00000001
pattern $bEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV
$mEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: forall {r}.
ExternalMemoryHandleTypeFlagBitsNV
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = ExternalMemoryHandleTypeFlagBitsNV 0x00000002
pattern $bEXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV
$mEXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: forall {r}.
ExternalMemoryHandleTypeFlagBitsNV
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = ExternalMemoryHandleTypeFlagBitsNV 0x00000004
pattern $bEXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV
$mEXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: forall {r}.
ExternalMemoryHandleTypeFlagBitsNV
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = ExternalMemoryHandleTypeFlagBitsNV 0x00000008
conNameExternalMemoryHandleTypeFlagBitsNV :: String
conNameExternalMemoryHandleTypeFlagBitsNV :: String
conNameExternalMemoryHandleTypeFlagBitsNV = String
"ExternalMemoryHandleTypeFlagBitsNV"
enumPrefixExternalMemoryHandleTypeFlagBitsNV :: String
enumPrefixExternalMemoryHandleTypeFlagBitsNV :: String
enumPrefixExternalMemoryHandleTypeFlagBitsNV = String
"EXTERNAL_MEMORY_HANDLE_TYPE_"
showTableExternalMemoryHandleTypeFlagBitsNV :: [(ExternalMemoryHandleTypeFlagBitsNV, String)]
showTableExternalMemoryHandleTypeFlagBitsNV :: [(ExternalMemoryHandleTypeFlagBitsNV, String)]
showTableExternalMemoryHandleTypeFlagBitsNV =
[
( ExternalMemoryHandleTypeFlagBitsNV
EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV
, String
"OPAQUE_WIN32_BIT_NV"
)
,
( ExternalMemoryHandleTypeFlagBitsNV
EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV
, String
"OPAQUE_WIN32_KMT_BIT_NV"
)
,
( ExternalMemoryHandleTypeFlagBitsNV
EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV
, String
"D3D11_IMAGE_BIT_NV"
)
,
( ExternalMemoryHandleTypeFlagBitsNV
EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV
, String
"D3D11_IMAGE_KMT_BIT_NV"
)
]
instance Show ExternalMemoryHandleTypeFlagBitsNV where
showsPrec :: Int -> ExternalMemoryHandleTypeFlagBitsNV -> ShowS
showsPrec =
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixExternalMemoryHandleTypeFlagBitsNV
[(ExternalMemoryHandleTypeFlagBitsNV, String)]
showTableExternalMemoryHandleTypeFlagBitsNV
String
conNameExternalMemoryHandleTypeFlagBitsNV
(\(ExternalMemoryHandleTypeFlagBitsNV Flags
x) -> Flags
x)
(\Flags
x -> String -> ShowS
showString String
"0x" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)
instance Read ExternalMemoryHandleTypeFlagBitsNV where
readPrec :: ReadPrec ExternalMemoryHandleTypeFlagBitsNV
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixExternalMemoryHandleTypeFlagBitsNV
[(ExternalMemoryHandleTypeFlagBitsNV, String)]
showTableExternalMemoryHandleTypeFlagBitsNV
String
conNameExternalMemoryHandleTypeFlagBitsNV
Flags -> ExternalMemoryHandleTypeFlagBitsNV
ExternalMemoryHandleTypeFlagBitsNV
type ExternalMemoryFeatureFlagsNV = ExternalMemoryFeatureFlagBitsNV
newtype ExternalMemoryFeatureFlagBitsNV = ExternalMemoryFeatureFlagBitsNV Flags
deriving newtype (ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Bool
$c/= :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Bool
== :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Bool
$c== :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Bool
Eq, Eq ExternalMemoryFeatureFlagBitsNV
ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Bool
ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Ordering
ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
$cmin :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
max :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
$cmax :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
>= :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Bool
$c>= :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Bool
> :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Bool
$c> :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Bool
<= :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Bool
$c<= :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Bool
< :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Bool
$c< :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Bool
compare :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Ordering
$ccompare :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> Ordering
Ord, Ptr ExternalMemoryFeatureFlagBitsNV
-> IO ExternalMemoryFeatureFlagBitsNV
Ptr ExternalMemoryFeatureFlagBitsNV
-> Int -> IO ExternalMemoryFeatureFlagBitsNV
Ptr ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV -> IO ()
Ptr ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> IO ()
ExternalMemoryFeatureFlagBitsNV -> Int
forall b. Ptr b -> Int -> IO ExternalMemoryFeatureFlagBitsNV
forall b. Ptr b -> Int -> ExternalMemoryFeatureFlagBitsNV -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> IO ()
$cpoke :: Ptr ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV -> IO ()
peek :: Ptr ExternalMemoryFeatureFlagBitsNV
-> IO ExternalMemoryFeatureFlagBitsNV
$cpeek :: Ptr ExternalMemoryFeatureFlagBitsNV
-> IO ExternalMemoryFeatureFlagBitsNV
pokeByteOff :: forall b. Ptr b -> Int -> ExternalMemoryFeatureFlagBitsNV -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ExternalMemoryFeatureFlagBitsNV -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO ExternalMemoryFeatureFlagBitsNV
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ExternalMemoryFeatureFlagBitsNV
pokeElemOff :: Ptr ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV -> IO ()
$cpokeElemOff :: Ptr ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV -> IO ()
peekElemOff :: Ptr ExternalMemoryFeatureFlagBitsNV
-> Int -> IO ExternalMemoryFeatureFlagBitsNV
$cpeekElemOff :: Ptr ExternalMemoryFeatureFlagBitsNV
-> Int -> IO ExternalMemoryFeatureFlagBitsNV
alignment :: ExternalMemoryFeatureFlagBitsNV -> Int
$calignment :: ExternalMemoryFeatureFlagBitsNV -> Int
sizeOf :: ExternalMemoryFeatureFlagBitsNV -> Int
$csizeOf :: ExternalMemoryFeatureFlagBitsNV -> Int
Storable, ExternalMemoryFeatureFlagBitsNV
forall a. a -> Zero a
zero :: ExternalMemoryFeatureFlagBitsNV
$czero :: ExternalMemoryFeatureFlagBitsNV
Zero, Eq ExternalMemoryFeatureFlagBitsNV
ExternalMemoryFeatureFlagBitsNV
Int -> ExternalMemoryFeatureFlagBitsNV
ExternalMemoryFeatureFlagBitsNV -> Bool
ExternalMemoryFeatureFlagBitsNV -> Int
ExternalMemoryFeatureFlagBitsNV -> Maybe Int
ExternalMemoryFeatureFlagBitsNV -> ExternalMemoryFeatureFlagBitsNV
ExternalMemoryFeatureFlagBitsNV -> Int -> Bool
ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
forall a.
Eq a
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
popCount :: ExternalMemoryFeatureFlagBitsNV -> Int
$cpopCount :: ExternalMemoryFeatureFlagBitsNV -> Int
rotateR :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
$crotateR :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
rotateL :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
$crotateL :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
unsafeShiftR :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
$cunsafeShiftR :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
shiftR :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
$cshiftR :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
unsafeShiftL :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
$cunsafeShiftL :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
shiftL :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
$cshiftL :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
isSigned :: ExternalMemoryFeatureFlagBitsNV -> Bool
$cisSigned :: ExternalMemoryFeatureFlagBitsNV -> Bool
bitSize :: ExternalMemoryFeatureFlagBitsNV -> Int
$cbitSize :: ExternalMemoryFeatureFlagBitsNV -> Int
bitSizeMaybe :: ExternalMemoryFeatureFlagBitsNV -> Maybe Int
$cbitSizeMaybe :: ExternalMemoryFeatureFlagBitsNV -> Maybe Int
testBit :: ExternalMemoryFeatureFlagBitsNV -> Int -> Bool
$ctestBit :: ExternalMemoryFeatureFlagBitsNV -> Int -> Bool
complementBit :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
$ccomplementBit :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
clearBit :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
$cclearBit :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
setBit :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
$csetBit :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
bit :: Int -> ExternalMemoryFeatureFlagBitsNV
$cbit :: Int -> ExternalMemoryFeatureFlagBitsNV
zeroBits :: ExternalMemoryFeatureFlagBitsNV
$czeroBits :: ExternalMemoryFeatureFlagBitsNV
rotate :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
$crotate :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
shift :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
$cshift :: ExternalMemoryFeatureFlagBitsNV
-> Int -> ExternalMemoryFeatureFlagBitsNV
complement :: ExternalMemoryFeatureFlagBitsNV -> ExternalMemoryFeatureFlagBitsNV
$ccomplement :: ExternalMemoryFeatureFlagBitsNV -> ExternalMemoryFeatureFlagBitsNV
xor :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
$cxor :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
.|. :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
$c.|. :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
.&. :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
$c.&. :: ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
-> ExternalMemoryFeatureFlagBitsNV
Bits, Bits ExternalMemoryFeatureFlagBitsNV
ExternalMemoryFeatureFlagBitsNV -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: ExternalMemoryFeatureFlagBitsNV -> Int
$ccountTrailingZeros :: ExternalMemoryFeatureFlagBitsNV -> Int
countLeadingZeros :: ExternalMemoryFeatureFlagBitsNV -> Int
$ccountLeadingZeros :: ExternalMemoryFeatureFlagBitsNV -> Int
finiteBitSize :: ExternalMemoryFeatureFlagBitsNV -> Int
$cfiniteBitSize :: ExternalMemoryFeatureFlagBitsNV -> Int
FiniteBits)
pattern $bEXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV :: ExternalMemoryFeatureFlagBitsNV
$mEXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV :: forall {r}.
ExternalMemoryFeatureFlagBitsNV
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = ExternalMemoryFeatureFlagBitsNV 0x00000001
pattern $bEXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV :: ExternalMemoryFeatureFlagBitsNV
$mEXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV :: forall {r}.
ExternalMemoryFeatureFlagBitsNV
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = ExternalMemoryFeatureFlagBitsNV 0x00000002
pattern $bEXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV :: ExternalMemoryFeatureFlagBitsNV
$mEXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV :: forall {r}.
ExternalMemoryFeatureFlagBitsNV
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = ExternalMemoryFeatureFlagBitsNV 0x00000004
conNameExternalMemoryFeatureFlagBitsNV :: String
conNameExternalMemoryFeatureFlagBitsNV :: String
conNameExternalMemoryFeatureFlagBitsNV = String
"ExternalMemoryFeatureFlagBitsNV"
enumPrefixExternalMemoryFeatureFlagBitsNV :: String
enumPrefixExternalMemoryFeatureFlagBitsNV :: String
enumPrefixExternalMemoryFeatureFlagBitsNV = String
"EXTERNAL_MEMORY_FEATURE_"
showTableExternalMemoryFeatureFlagBitsNV :: [(ExternalMemoryFeatureFlagBitsNV, String)]
showTableExternalMemoryFeatureFlagBitsNV :: [(ExternalMemoryFeatureFlagBitsNV, String)]
showTableExternalMemoryFeatureFlagBitsNV =
[
( ExternalMemoryFeatureFlagBitsNV
EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV
, String
"DEDICATED_ONLY_BIT_NV"
)
,
( ExternalMemoryFeatureFlagBitsNV
EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV
, String
"EXPORTABLE_BIT_NV"
)
,
( ExternalMemoryFeatureFlagBitsNV
EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV
, String
"IMPORTABLE_BIT_NV"
)
]
instance Show ExternalMemoryFeatureFlagBitsNV where
showsPrec :: Int -> ExternalMemoryFeatureFlagBitsNV -> ShowS
showsPrec =
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixExternalMemoryFeatureFlagBitsNV
[(ExternalMemoryFeatureFlagBitsNV, String)]
showTableExternalMemoryFeatureFlagBitsNV
String
conNameExternalMemoryFeatureFlagBitsNV
(\(ExternalMemoryFeatureFlagBitsNV Flags
x) -> Flags
x)
(\Flags
x -> String -> ShowS
showString String
"0x" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)
instance Read ExternalMemoryFeatureFlagBitsNV where
readPrec :: ReadPrec ExternalMemoryFeatureFlagBitsNV
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixExternalMemoryFeatureFlagBitsNV
[(ExternalMemoryFeatureFlagBitsNV, String)]
showTableExternalMemoryFeatureFlagBitsNV
String
conNameExternalMemoryFeatureFlagBitsNV
Flags -> ExternalMemoryFeatureFlagBitsNV
ExternalMemoryFeatureFlagBitsNV
type NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1
pattern NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION :: forall a . Integral a => a
pattern $bNV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION :: forall a. Integral a => a
$mNV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1
type NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_NV_external_memory_capabilities"
pattern NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bNV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
$mNV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_NV_external_memory_capabilities"