{-# language CPP #-}
-- No documentation found for Chapter "Handles"
module Vulkan.Extensions.Handles  ( IndirectCommandsLayoutNV(..)
                                  , ValidationCacheEXT(..)
                                  , AccelerationStructureKHR(..)
                                  , AccelerationStructureNV(..)
                                  , PerformanceConfigurationINTEL(..)
                                  , BufferCollectionFUCHSIA(..)
                                  , DeferredOperationKHR(..)
                                  , PrivateDataSlotEXT(..)
                                  , CuModuleNVX(..)
                                  , CuFunctionNVX(..)
                                  , DisplayKHR(..)
                                  , DisplayModeKHR(..)
                                  , SurfaceKHR(..)
                                  , SwapchainKHR(..)
                                  , DebugReportCallbackEXT(..)
                                  , DebugUtilsMessengerEXT(..)
                                  , Instance(..)
                                  , PhysicalDevice(..)
                                  , Device(..)
                                  , Queue(..)
                                  , CommandBuffer(..)
                                  , DeviceMemory(..)
                                  , CommandPool(..)
                                  , Buffer(..)
                                  , BufferView(..)
                                  , Image(..)
                                  , ImageView(..)
                                  , ShaderModule(..)
                                  , Pipeline(..)
                                  , PipelineLayout(..)
                                  , Sampler(..)
                                  , DescriptorSet(..)
                                  , DescriptorSetLayout(..)
                                  , Fence(..)
                                  , Semaphore(..)
                                  , Event(..)
                                  , QueryPool(..)
                                  , Framebuffer(..)
                                  , RenderPass(..)
                                  , PipelineCache(..)
                                  , DescriptorUpdateTemplate(..)
                                  , SamplerYcbcrConversion(..)
                                  ) where

import GHC.Show (showParen)
import Numeric (showHex)
import Vulkan.Zero (Zero)
import Foreign.Storable (Storable)
import Data.Word (Word64)
import Vulkan.Core10.APIConstants (HasObjectType(..))
import Vulkan.Core10.APIConstants (IsHandle)
import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR))
import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_ACCELERATION_STRUCTURE_NV))
import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA))
import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_CU_FUNCTION_NVX))
import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_CU_MODULE_NVX))
import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT))
import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT))
import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_DEFERRED_OPERATION_KHR))
import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_DISPLAY_KHR))
import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_DISPLAY_MODE_KHR))
import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV))
import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL))
import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT))
import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_SURFACE_KHR))
import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_SWAPCHAIN_KHR))
import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_VALIDATION_CACHE_EXT))
import Vulkan.Core10.Handles (Buffer(..))
import Vulkan.Core10.Handles (BufferView(..))
import Vulkan.Core10.Handles (CommandBuffer(..))
import Vulkan.Core10.Handles (CommandPool(..))
import Vulkan.Core10.Handles (DescriptorSet(..))
import Vulkan.Core10.Handles (DescriptorSetLayout(..))
import Vulkan.Core11.Handles (DescriptorUpdateTemplate(..))
import Vulkan.Core10.Handles (Device(..))
import Vulkan.Core10.Handles (DeviceMemory(..))
import Vulkan.Core10.Handles (Event(..))
import Vulkan.Core10.Handles (Fence(..))
import Vulkan.Core10.Handles (Framebuffer(..))
import Vulkan.Core10.Handles (Image(..))
import Vulkan.Core10.Handles (ImageView(..))
import Vulkan.Core10.Handles (Instance(..))
import Vulkan.Core10.Handles (PhysicalDevice(..))
import Vulkan.Core10.Handles (Pipeline(..))
import Vulkan.Core10.Handles (PipelineCache(..))
import Vulkan.Core10.Handles (PipelineLayout(..))
import Vulkan.Core10.Handles (QueryPool(..))
import Vulkan.Core10.Handles (Queue(..))
import Vulkan.Core10.Handles (RenderPass(..))
import Vulkan.Core10.Handles (Sampler(..))
import Vulkan.Core11.Handles (SamplerYcbcrConversion(..))
import Vulkan.Core10.Handles (Semaphore(..))
import Vulkan.Core10.Handles (ShaderModule(..))
-- | VkIndirectCommandsLayoutNV - Opaque handle to an indirect commands
-- layout object
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
-- 'Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsInfoNV',
-- 'Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsMemoryRequirementsInfoNV',
-- 'Vulkan.Extensions.VK_NV_device_generated_commands.createIndirectCommandsLayoutNV',
-- 'Vulkan.Extensions.VK_NV_device_generated_commands.destroyIndirectCommandsLayoutNV'
newtype IndirectCommandsLayoutNV = IndirectCommandsLayoutNV Word64
  deriving newtype (IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool
(IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool)
-> (IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool)
-> Eq IndirectCommandsLayoutNV
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool
$c/= :: IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool
== :: IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool
$c== :: IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool
Eq, Eq IndirectCommandsLayoutNV
Eq IndirectCommandsLayoutNV
-> (IndirectCommandsLayoutNV
    -> IndirectCommandsLayoutNV -> Ordering)
-> (IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool)
-> (IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool)
-> (IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool)
-> (IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool)
-> (IndirectCommandsLayoutNV
    -> IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV)
-> (IndirectCommandsLayoutNV
    -> IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV)
-> Ord IndirectCommandsLayoutNV
IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool
IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Ordering
IndirectCommandsLayoutNV
-> IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV
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 :: IndirectCommandsLayoutNV
-> IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV
$cmin :: IndirectCommandsLayoutNV
-> IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV
max :: IndirectCommandsLayoutNV
-> IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV
$cmax :: IndirectCommandsLayoutNV
-> IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV
>= :: IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool
$c>= :: IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool
> :: IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool
$c> :: IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool
<= :: IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool
$c<= :: IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool
< :: IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool
$c< :: IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Bool
compare :: IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Ordering
$ccompare :: IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> Ordering
$cp1Ord :: Eq IndirectCommandsLayoutNV
Ord, Ptr b -> Int -> IO IndirectCommandsLayoutNV
Ptr b -> Int -> IndirectCommandsLayoutNV -> IO ()
Ptr IndirectCommandsLayoutNV -> IO IndirectCommandsLayoutNV
Ptr IndirectCommandsLayoutNV -> Int -> IO IndirectCommandsLayoutNV
Ptr IndirectCommandsLayoutNV
-> Int -> IndirectCommandsLayoutNV -> IO ()
Ptr IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> IO ()
IndirectCommandsLayoutNV -> Int
(IndirectCommandsLayoutNV -> Int)
-> (IndirectCommandsLayoutNV -> Int)
-> (Ptr IndirectCommandsLayoutNV
    -> Int -> IO IndirectCommandsLayoutNV)
-> (Ptr IndirectCommandsLayoutNV
    -> Int -> IndirectCommandsLayoutNV -> IO ())
-> (forall b. Ptr b -> Int -> IO IndirectCommandsLayoutNV)
-> (forall b. Ptr b -> Int -> IndirectCommandsLayoutNV -> IO ())
-> (Ptr IndirectCommandsLayoutNV -> IO IndirectCommandsLayoutNV)
-> (Ptr IndirectCommandsLayoutNV
    -> IndirectCommandsLayoutNV -> IO ())
-> Storable IndirectCommandsLayoutNV
forall b. Ptr b -> Int -> IO IndirectCommandsLayoutNV
forall b. Ptr b -> Int -> IndirectCommandsLayoutNV -> 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 IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> IO ()
$cpoke :: Ptr IndirectCommandsLayoutNV -> IndirectCommandsLayoutNV -> IO ()
peek :: Ptr IndirectCommandsLayoutNV -> IO IndirectCommandsLayoutNV
$cpeek :: Ptr IndirectCommandsLayoutNV -> IO IndirectCommandsLayoutNV
pokeByteOff :: Ptr b -> Int -> IndirectCommandsLayoutNV -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> IndirectCommandsLayoutNV -> IO ()
peekByteOff :: Ptr b -> Int -> IO IndirectCommandsLayoutNV
$cpeekByteOff :: forall b. Ptr b -> Int -> IO IndirectCommandsLayoutNV
pokeElemOff :: Ptr IndirectCommandsLayoutNV
-> Int -> IndirectCommandsLayoutNV -> IO ()
$cpokeElemOff :: Ptr IndirectCommandsLayoutNV
-> Int -> IndirectCommandsLayoutNV -> IO ()
peekElemOff :: Ptr IndirectCommandsLayoutNV -> Int -> IO IndirectCommandsLayoutNV
$cpeekElemOff :: Ptr IndirectCommandsLayoutNV -> Int -> IO IndirectCommandsLayoutNV
alignment :: IndirectCommandsLayoutNV -> Int
$calignment :: IndirectCommandsLayoutNV -> Int
sizeOf :: IndirectCommandsLayoutNV -> Int
$csizeOf :: IndirectCommandsLayoutNV -> Int
Storable, IndirectCommandsLayoutNV
IndirectCommandsLayoutNV -> Zero IndirectCommandsLayoutNV
forall a. a -> Zero a
zero :: IndirectCommandsLayoutNV
$czero :: IndirectCommandsLayoutNV
Zero)
  deriving anyclass (Eq IndirectCommandsLayoutNV
Zero IndirectCommandsLayoutNV
Eq IndirectCommandsLayoutNV
-> Zero IndirectCommandsLayoutNV
-> IsHandle IndirectCommandsLayoutNV
forall a. Eq a -> Zero a -> IsHandle a
$cp2IsHandle :: Zero IndirectCommandsLayoutNV
$cp1IsHandle :: Eq IndirectCommandsLayoutNV
IsHandle)
instance HasObjectType IndirectCommandsLayoutNV where
  objectTypeAndHandle :: IndirectCommandsLayoutNV -> (ObjectType, Word64)
objectTypeAndHandle (IndirectCommandsLayoutNV Word64
h) = (ObjectType
OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV, Word64
h)
instance Show IndirectCommandsLayoutNV where
  showsPrec :: Int -> IndirectCommandsLayoutNV -> ShowS
showsPrec Int
p (IndirectCommandsLayoutNV Word64
x) = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"IndirectCommandsLayoutNV 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word64
x)


-- | VkValidationCacheEXT - Opaque handle to a validation cache object
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_validation_cache VK_EXT_validation_cache>,
-- 'Vulkan.Extensions.VK_EXT_validation_cache.ShaderModuleValidationCacheCreateInfoEXT',
-- 'Vulkan.Extensions.VK_EXT_validation_cache.createValidationCacheEXT',
-- 'Vulkan.Extensions.VK_EXT_validation_cache.destroyValidationCacheEXT',
-- 'Vulkan.Extensions.VK_EXT_validation_cache.getValidationCacheDataEXT',
-- 'Vulkan.Extensions.VK_EXT_validation_cache.mergeValidationCachesEXT'
newtype ValidationCacheEXT = ValidationCacheEXT Word64
  deriving newtype (ValidationCacheEXT -> ValidationCacheEXT -> Bool
(ValidationCacheEXT -> ValidationCacheEXT -> Bool)
-> (ValidationCacheEXT -> ValidationCacheEXT -> Bool)
-> Eq ValidationCacheEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ValidationCacheEXT -> ValidationCacheEXT -> Bool
$c/= :: ValidationCacheEXT -> ValidationCacheEXT -> Bool
== :: ValidationCacheEXT -> ValidationCacheEXT -> Bool
$c== :: ValidationCacheEXT -> ValidationCacheEXT -> Bool
Eq, Eq ValidationCacheEXT
Eq ValidationCacheEXT
-> (ValidationCacheEXT -> ValidationCacheEXT -> Ordering)
-> (ValidationCacheEXT -> ValidationCacheEXT -> Bool)
-> (ValidationCacheEXT -> ValidationCacheEXT -> Bool)
-> (ValidationCacheEXT -> ValidationCacheEXT -> Bool)
-> (ValidationCacheEXT -> ValidationCacheEXT -> Bool)
-> (ValidationCacheEXT -> ValidationCacheEXT -> ValidationCacheEXT)
-> (ValidationCacheEXT -> ValidationCacheEXT -> ValidationCacheEXT)
-> Ord ValidationCacheEXT
ValidationCacheEXT -> ValidationCacheEXT -> Bool
ValidationCacheEXT -> ValidationCacheEXT -> Ordering
ValidationCacheEXT -> ValidationCacheEXT -> ValidationCacheEXT
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 :: ValidationCacheEXT -> ValidationCacheEXT -> ValidationCacheEXT
$cmin :: ValidationCacheEXT -> ValidationCacheEXT -> ValidationCacheEXT
max :: ValidationCacheEXT -> ValidationCacheEXT -> ValidationCacheEXT
$cmax :: ValidationCacheEXT -> ValidationCacheEXT -> ValidationCacheEXT
>= :: ValidationCacheEXT -> ValidationCacheEXT -> Bool
$c>= :: ValidationCacheEXT -> ValidationCacheEXT -> Bool
> :: ValidationCacheEXT -> ValidationCacheEXT -> Bool
$c> :: ValidationCacheEXT -> ValidationCacheEXT -> Bool
<= :: ValidationCacheEXT -> ValidationCacheEXT -> Bool
$c<= :: ValidationCacheEXT -> ValidationCacheEXT -> Bool
< :: ValidationCacheEXT -> ValidationCacheEXT -> Bool
$c< :: ValidationCacheEXT -> ValidationCacheEXT -> Bool
compare :: ValidationCacheEXT -> ValidationCacheEXT -> Ordering
$ccompare :: ValidationCacheEXT -> ValidationCacheEXT -> Ordering
$cp1Ord :: Eq ValidationCacheEXT
Ord, Ptr b -> Int -> IO ValidationCacheEXT
Ptr b -> Int -> ValidationCacheEXT -> IO ()
Ptr ValidationCacheEXT -> IO ValidationCacheEXT
Ptr ValidationCacheEXT -> Int -> IO ValidationCacheEXT
Ptr ValidationCacheEXT -> Int -> ValidationCacheEXT -> IO ()
Ptr ValidationCacheEXT -> ValidationCacheEXT -> IO ()
ValidationCacheEXT -> Int
(ValidationCacheEXT -> Int)
-> (ValidationCacheEXT -> Int)
-> (Ptr ValidationCacheEXT -> Int -> IO ValidationCacheEXT)
-> (Ptr ValidationCacheEXT -> Int -> ValidationCacheEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO ValidationCacheEXT)
-> (forall b. Ptr b -> Int -> ValidationCacheEXT -> IO ())
-> (Ptr ValidationCacheEXT -> IO ValidationCacheEXT)
-> (Ptr ValidationCacheEXT -> ValidationCacheEXT -> IO ())
-> Storable ValidationCacheEXT
forall b. Ptr b -> Int -> IO ValidationCacheEXT
forall b. Ptr b -> Int -> ValidationCacheEXT -> 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 ValidationCacheEXT -> ValidationCacheEXT -> IO ()
$cpoke :: Ptr ValidationCacheEXT -> ValidationCacheEXT -> IO ()
peek :: Ptr ValidationCacheEXT -> IO ValidationCacheEXT
$cpeek :: Ptr ValidationCacheEXT -> IO ValidationCacheEXT
pokeByteOff :: Ptr b -> Int -> ValidationCacheEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ValidationCacheEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO ValidationCacheEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ValidationCacheEXT
pokeElemOff :: Ptr ValidationCacheEXT -> Int -> ValidationCacheEXT -> IO ()
$cpokeElemOff :: Ptr ValidationCacheEXT -> Int -> ValidationCacheEXT -> IO ()
peekElemOff :: Ptr ValidationCacheEXT -> Int -> IO ValidationCacheEXT
$cpeekElemOff :: Ptr ValidationCacheEXT -> Int -> IO ValidationCacheEXT
alignment :: ValidationCacheEXT -> Int
$calignment :: ValidationCacheEXT -> Int
sizeOf :: ValidationCacheEXT -> Int
$csizeOf :: ValidationCacheEXT -> Int
Storable, ValidationCacheEXT
ValidationCacheEXT -> Zero ValidationCacheEXT
forall a. a -> Zero a
zero :: ValidationCacheEXT
$czero :: ValidationCacheEXT
Zero)
  deriving anyclass (Eq ValidationCacheEXT
Zero ValidationCacheEXT
Eq ValidationCacheEXT
-> Zero ValidationCacheEXT -> IsHandle ValidationCacheEXT
forall a. Eq a -> Zero a -> IsHandle a
$cp2IsHandle :: Zero ValidationCacheEXT
$cp1IsHandle :: Eq ValidationCacheEXT
IsHandle)
instance HasObjectType ValidationCacheEXT where
  objectTypeAndHandle :: ValidationCacheEXT -> (ObjectType, Word64)
objectTypeAndHandle (ValidationCacheEXT Word64
h) = (ObjectType
OBJECT_TYPE_VALIDATION_CACHE_EXT, Word64
h)
instance Show ValidationCacheEXT where
  showsPrec :: Int -> ValidationCacheEXT -> ShowS
showsPrec Int
p (ValidationCacheEXT Word64
x) = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"ValidationCacheEXT 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word64
x)


-- | VkAccelerationStructureKHR - Opaque handle to an acceleration structure
-- object
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildGeometryInfoKHR',
-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureDeviceAddressInfoKHR',
-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureInfoKHR',
-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureToMemoryInfoKHR',
-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.CopyMemoryToAccelerationStructureInfoKHR',
-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.WriteDescriptorSetAccelerationStructureKHR',
-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.cmdWriteAccelerationStructuresPropertiesKHR',
-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.createAccelerationStructureKHR',
-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.destroyAccelerationStructureKHR',
-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.writeAccelerationStructuresPropertiesKHR'
newtype AccelerationStructureKHR = AccelerationStructureKHR Word64
  deriving newtype (AccelerationStructureKHR -> AccelerationStructureKHR -> Bool
(AccelerationStructureKHR -> AccelerationStructureKHR -> Bool)
-> (AccelerationStructureKHR -> AccelerationStructureKHR -> Bool)
-> Eq AccelerationStructureKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccelerationStructureKHR -> AccelerationStructureKHR -> Bool
$c/= :: AccelerationStructureKHR -> AccelerationStructureKHR -> Bool
== :: AccelerationStructureKHR -> AccelerationStructureKHR -> Bool
$c== :: AccelerationStructureKHR -> AccelerationStructureKHR -> Bool
Eq, Eq AccelerationStructureKHR
Eq AccelerationStructureKHR
-> (AccelerationStructureKHR
    -> AccelerationStructureKHR -> Ordering)
-> (AccelerationStructureKHR -> AccelerationStructureKHR -> Bool)
-> (AccelerationStructureKHR -> AccelerationStructureKHR -> Bool)
-> (AccelerationStructureKHR -> AccelerationStructureKHR -> Bool)
-> (AccelerationStructureKHR -> AccelerationStructureKHR -> Bool)
-> (AccelerationStructureKHR
    -> AccelerationStructureKHR -> AccelerationStructureKHR)
-> (AccelerationStructureKHR
    -> AccelerationStructureKHR -> AccelerationStructureKHR)
-> Ord AccelerationStructureKHR
AccelerationStructureKHR -> AccelerationStructureKHR -> Bool
AccelerationStructureKHR -> AccelerationStructureKHR -> Ordering
AccelerationStructureKHR
-> AccelerationStructureKHR -> AccelerationStructureKHR
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 :: AccelerationStructureKHR
-> AccelerationStructureKHR -> AccelerationStructureKHR
$cmin :: AccelerationStructureKHR
-> AccelerationStructureKHR -> AccelerationStructureKHR
max :: AccelerationStructureKHR
-> AccelerationStructureKHR -> AccelerationStructureKHR
$cmax :: AccelerationStructureKHR
-> AccelerationStructureKHR -> AccelerationStructureKHR
>= :: AccelerationStructureKHR -> AccelerationStructureKHR -> Bool
$c>= :: AccelerationStructureKHR -> AccelerationStructureKHR -> Bool
> :: AccelerationStructureKHR -> AccelerationStructureKHR -> Bool
$c> :: AccelerationStructureKHR -> AccelerationStructureKHR -> Bool
<= :: AccelerationStructureKHR -> AccelerationStructureKHR -> Bool
$c<= :: AccelerationStructureKHR -> AccelerationStructureKHR -> Bool
< :: AccelerationStructureKHR -> AccelerationStructureKHR -> Bool
$c< :: AccelerationStructureKHR -> AccelerationStructureKHR -> Bool
compare :: AccelerationStructureKHR -> AccelerationStructureKHR -> Ordering
$ccompare :: AccelerationStructureKHR -> AccelerationStructureKHR -> Ordering
$cp1Ord :: Eq AccelerationStructureKHR
Ord, Ptr b -> Int -> IO AccelerationStructureKHR
Ptr b -> Int -> AccelerationStructureKHR -> IO ()
Ptr AccelerationStructureKHR -> IO AccelerationStructureKHR
Ptr AccelerationStructureKHR -> Int -> IO AccelerationStructureKHR
Ptr AccelerationStructureKHR
-> Int -> AccelerationStructureKHR -> IO ()
Ptr AccelerationStructureKHR -> AccelerationStructureKHR -> IO ()
AccelerationStructureKHR -> Int
(AccelerationStructureKHR -> Int)
-> (AccelerationStructureKHR -> Int)
-> (Ptr AccelerationStructureKHR
    -> Int -> IO AccelerationStructureKHR)
-> (Ptr AccelerationStructureKHR
    -> Int -> AccelerationStructureKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO AccelerationStructureKHR)
-> (forall b. Ptr b -> Int -> AccelerationStructureKHR -> IO ())
-> (Ptr AccelerationStructureKHR -> IO AccelerationStructureKHR)
-> (Ptr AccelerationStructureKHR
    -> AccelerationStructureKHR -> IO ())
-> Storable AccelerationStructureKHR
forall b. Ptr b -> Int -> IO AccelerationStructureKHR
forall b. Ptr b -> Int -> AccelerationStructureKHR -> 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 AccelerationStructureKHR -> AccelerationStructureKHR -> IO ()
$cpoke :: Ptr AccelerationStructureKHR -> AccelerationStructureKHR -> IO ()
peek :: Ptr AccelerationStructureKHR -> IO AccelerationStructureKHR
$cpeek :: Ptr AccelerationStructureKHR -> IO AccelerationStructureKHR
pokeByteOff :: Ptr b -> Int -> AccelerationStructureKHR -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> AccelerationStructureKHR -> IO ()
peekByteOff :: Ptr b -> Int -> IO AccelerationStructureKHR
$cpeekByteOff :: forall b. Ptr b -> Int -> IO AccelerationStructureKHR
pokeElemOff :: Ptr AccelerationStructureKHR
-> Int -> AccelerationStructureKHR -> IO ()
$cpokeElemOff :: Ptr AccelerationStructureKHR
-> Int -> AccelerationStructureKHR -> IO ()
peekElemOff :: Ptr AccelerationStructureKHR -> Int -> IO AccelerationStructureKHR
$cpeekElemOff :: Ptr AccelerationStructureKHR -> Int -> IO AccelerationStructureKHR
alignment :: AccelerationStructureKHR -> Int
$calignment :: AccelerationStructureKHR -> Int
sizeOf :: AccelerationStructureKHR -> Int
$csizeOf :: AccelerationStructureKHR -> Int
Storable, AccelerationStructureKHR
AccelerationStructureKHR -> Zero AccelerationStructureKHR
forall a. a -> Zero a
zero :: AccelerationStructureKHR
$czero :: AccelerationStructureKHR
Zero)
  deriving anyclass (Eq AccelerationStructureKHR
Zero AccelerationStructureKHR
Eq AccelerationStructureKHR
-> Zero AccelerationStructureKHR
-> IsHandle AccelerationStructureKHR
forall a. Eq a -> Zero a -> IsHandle a
$cp2IsHandle :: Zero AccelerationStructureKHR
$cp1IsHandle :: Eq AccelerationStructureKHR
IsHandle)
instance HasObjectType AccelerationStructureKHR where
  objectTypeAndHandle :: AccelerationStructureKHR -> (ObjectType, Word64)
objectTypeAndHandle (AccelerationStructureKHR Word64
h) = (ObjectType
OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR, Word64
h)
instance Show AccelerationStructureKHR where
  showsPrec :: Int -> AccelerationStructureKHR -> ShowS
showsPrec Int
p (AccelerationStructureKHR Word64
x) = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"AccelerationStructureKHR 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word64
x)


-- | VkAccelerationStructureNV - Opaque handle to an acceleration structure
-- object
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
-- 'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsInfoNV',
-- 'Vulkan.Extensions.VK_NV_ray_tracing.BindAccelerationStructureMemoryInfoNV',
-- 'Vulkan.Extensions.VK_NV_ray_tracing.WriteDescriptorSetAccelerationStructureNV',
-- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV',
-- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdCopyAccelerationStructureNV',
-- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdWriteAccelerationStructuresPropertiesNV',
-- 'Vulkan.Extensions.VK_NV_ray_tracing.createAccelerationStructureNV',
-- 'Vulkan.Extensions.VK_NV_ray_tracing.destroyAccelerationStructureNV',
-- 'Vulkan.Extensions.VK_NV_ray_tracing.getAccelerationStructureHandleNV'
newtype AccelerationStructureNV = AccelerationStructureNV Word64
  deriving newtype (AccelerationStructureNV -> AccelerationStructureNV -> Bool
(AccelerationStructureNV -> AccelerationStructureNV -> Bool)
-> (AccelerationStructureNV -> AccelerationStructureNV -> Bool)
-> Eq AccelerationStructureNV
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccelerationStructureNV -> AccelerationStructureNV -> Bool
$c/= :: AccelerationStructureNV -> AccelerationStructureNV -> Bool
== :: AccelerationStructureNV -> AccelerationStructureNV -> Bool
$c== :: AccelerationStructureNV -> AccelerationStructureNV -> Bool
Eq, Eq AccelerationStructureNV
Eq AccelerationStructureNV
-> (AccelerationStructureNV -> AccelerationStructureNV -> Ordering)
-> (AccelerationStructureNV -> AccelerationStructureNV -> Bool)
-> (AccelerationStructureNV -> AccelerationStructureNV -> Bool)
-> (AccelerationStructureNV -> AccelerationStructureNV -> Bool)
-> (AccelerationStructureNV -> AccelerationStructureNV -> Bool)
-> (AccelerationStructureNV
    -> AccelerationStructureNV -> AccelerationStructureNV)
-> (AccelerationStructureNV
    -> AccelerationStructureNV -> AccelerationStructureNV)
-> Ord AccelerationStructureNV
AccelerationStructureNV -> AccelerationStructureNV -> Bool
AccelerationStructureNV -> AccelerationStructureNV -> Ordering
AccelerationStructureNV
-> AccelerationStructureNV -> AccelerationStructureNV
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 :: AccelerationStructureNV
-> AccelerationStructureNV -> AccelerationStructureNV
$cmin :: AccelerationStructureNV
-> AccelerationStructureNV -> AccelerationStructureNV
max :: AccelerationStructureNV
-> AccelerationStructureNV -> AccelerationStructureNV
$cmax :: AccelerationStructureNV
-> AccelerationStructureNV -> AccelerationStructureNV
>= :: AccelerationStructureNV -> AccelerationStructureNV -> Bool
$c>= :: AccelerationStructureNV -> AccelerationStructureNV -> Bool
> :: AccelerationStructureNV -> AccelerationStructureNV -> Bool
$c> :: AccelerationStructureNV -> AccelerationStructureNV -> Bool
<= :: AccelerationStructureNV -> AccelerationStructureNV -> Bool
$c<= :: AccelerationStructureNV -> AccelerationStructureNV -> Bool
< :: AccelerationStructureNV -> AccelerationStructureNV -> Bool
$c< :: AccelerationStructureNV -> AccelerationStructureNV -> Bool
compare :: AccelerationStructureNV -> AccelerationStructureNV -> Ordering
$ccompare :: AccelerationStructureNV -> AccelerationStructureNV -> Ordering
$cp1Ord :: Eq AccelerationStructureNV
Ord, Ptr b -> Int -> IO AccelerationStructureNV
Ptr b -> Int -> AccelerationStructureNV -> IO ()
Ptr AccelerationStructureNV -> IO AccelerationStructureNV
Ptr AccelerationStructureNV -> Int -> IO AccelerationStructureNV
Ptr AccelerationStructureNV
-> Int -> AccelerationStructureNV -> IO ()
Ptr AccelerationStructureNV -> AccelerationStructureNV -> IO ()
AccelerationStructureNV -> Int
(AccelerationStructureNV -> Int)
-> (AccelerationStructureNV -> Int)
-> (Ptr AccelerationStructureNV
    -> Int -> IO AccelerationStructureNV)
-> (Ptr AccelerationStructureNV
    -> Int -> AccelerationStructureNV -> IO ())
-> (forall b. Ptr b -> Int -> IO AccelerationStructureNV)
-> (forall b. Ptr b -> Int -> AccelerationStructureNV -> IO ())
-> (Ptr AccelerationStructureNV -> IO AccelerationStructureNV)
-> (Ptr AccelerationStructureNV
    -> AccelerationStructureNV -> IO ())
-> Storable AccelerationStructureNV
forall b. Ptr b -> Int -> IO AccelerationStructureNV
forall b. Ptr b -> Int -> AccelerationStructureNV -> 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 AccelerationStructureNV -> AccelerationStructureNV -> IO ()
$cpoke :: Ptr AccelerationStructureNV -> AccelerationStructureNV -> IO ()
peek :: Ptr AccelerationStructureNV -> IO AccelerationStructureNV
$cpeek :: Ptr AccelerationStructureNV -> IO AccelerationStructureNV
pokeByteOff :: Ptr b -> Int -> AccelerationStructureNV -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> AccelerationStructureNV -> IO ()
peekByteOff :: Ptr b -> Int -> IO AccelerationStructureNV
$cpeekByteOff :: forall b. Ptr b -> Int -> IO AccelerationStructureNV
pokeElemOff :: Ptr AccelerationStructureNV
-> Int -> AccelerationStructureNV -> IO ()
$cpokeElemOff :: Ptr AccelerationStructureNV
-> Int -> AccelerationStructureNV -> IO ()
peekElemOff :: Ptr AccelerationStructureNV -> Int -> IO AccelerationStructureNV
$cpeekElemOff :: Ptr AccelerationStructureNV -> Int -> IO AccelerationStructureNV
alignment :: AccelerationStructureNV -> Int
$calignment :: AccelerationStructureNV -> Int
sizeOf :: AccelerationStructureNV -> Int
$csizeOf :: AccelerationStructureNV -> Int
Storable, AccelerationStructureNV
AccelerationStructureNV -> Zero AccelerationStructureNV
forall a. a -> Zero a
zero :: AccelerationStructureNV
$czero :: AccelerationStructureNV
Zero)
  deriving anyclass (Eq AccelerationStructureNV
Zero AccelerationStructureNV
Eq AccelerationStructureNV
-> Zero AccelerationStructureNV -> IsHandle AccelerationStructureNV
forall a. Eq a -> Zero a -> IsHandle a
$cp2IsHandle :: Zero AccelerationStructureNV
$cp1IsHandle :: Eq AccelerationStructureNV
IsHandle)
instance HasObjectType AccelerationStructureNV where
  objectTypeAndHandle :: AccelerationStructureNV -> (ObjectType, Word64)
objectTypeAndHandle (AccelerationStructureNV Word64
h) = (ObjectType
OBJECT_TYPE_ACCELERATION_STRUCTURE_NV, Word64
h)
instance Show AccelerationStructureNV where
  showsPrec :: Int -> AccelerationStructureNV -> ShowS
showsPrec Int
p (AccelerationStructureNV Word64
x) = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"AccelerationStructureNV 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word64
x)


-- | VkPerformanceConfigurationINTEL - Device configuration for performance
-- queries
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
-- 'Vulkan.Extensions.VK_INTEL_performance_query.acquirePerformanceConfigurationINTEL',
-- 'Vulkan.Extensions.VK_INTEL_performance_query.queueSetPerformanceConfigurationINTEL',
-- 'Vulkan.Extensions.VK_INTEL_performance_query.releasePerformanceConfigurationINTEL'
newtype PerformanceConfigurationINTEL = PerformanceConfigurationINTEL Word64
  deriving newtype (PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Bool
(PerformanceConfigurationINTEL
 -> PerformanceConfigurationINTEL -> Bool)
-> (PerformanceConfigurationINTEL
    -> PerformanceConfigurationINTEL -> Bool)
-> Eq PerformanceConfigurationINTEL
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Bool
$c/= :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Bool
== :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Bool
$c== :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Bool
Eq, Eq PerformanceConfigurationINTEL
Eq PerformanceConfigurationINTEL
-> (PerformanceConfigurationINTEL
    -> PerformanceConfigurationINTEL -> Ordering)
-> (PerformanceConfigurationINTEL
    -> PerformanceConfigurationINTEL -> Bool)
-> (PerformanceConfigurationINTEL
    -> PerformanceConfigurationINTEL -> Bool)
-> (PerformanceConfigurationINTEL
    -> PerformanceConfigurationINTEL -> Bool)
-> (PerformanceConfigurationINTEL
    -> PerformanceConfigurationINTEL -> Bool)
-> (PerformanceConfigurationINTEL
    -> PerformanceConfigurationINTEL -> PerformanceConfigurationINTEL)
-> (PerformanceConfigurationINTEL
    -> PerformanceConfigurationINTEL -> PerformanceConfigurationINTEL)
-> Ord PerformanceConfigurationINTEL
PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Bool
PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Ordering
PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> PerformanceConfigurationINTEL
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 :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> PerformanceConfigurationINTEL
$cmin :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> PerformanceConfigurationINTEL
max :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> PerformanceConfigurationINTEL
$cmax :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> PerformanceConfigurationINTEL
>= :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Bool
$c>= :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Bool
> :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Bool
$c> :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Bool
<= :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Bool
$c<= :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Bool
< :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Bool
$c< :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Bool
compare :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Ordering
$ccompare :: PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> Ordering
$cp1Ord :: Eq PerformanceConfigurationINTEL
Ord, Ptr b -> Int -> IO PerformanceConfigurationINTEL
Ptr b -> Int -> PerformanceConfigurationINTEL -> IO ()
Ptr PerformanceConfigurationINTEL
-> IO PerformanceConfigurationINTEL
Ptr PerformanceConfigurationINTEL
-> Int -> IO PerformanceConfigurationINTEL
Ptr PerformanceConfigurationINTEL
-> Int -> PerformanceConfigurationINTEL -> IO ()
Ptr PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> IO ()
PerformanceConfigurationINTEL -> Int
(PerformanceConfigurationINTEL -> Int)
-> (PerformanceConfigurationINTEL -> Int)
-> (Ptr PerformanceConfigurationINTEL
    -> Int -> IO PerformanceConfigurationINTEL)
-> (Ptr PerformanceConfigurationINTEL
    -> Int -> PerformanceConfigurationINTEL -> IO ())
-> (forall b. Ptr b -> Int -> IO PerformanceConfigurationINTEL)
-> (forall b.
    Ptr b -> Int -> PerformanceConfigurationINTEL -> IO ())
-> (Ptr PerformanceConfigurationINTEL
    -> IO PerformanceConfigurationINTEL)
-> (Ptr PerformanceConfigurationINTEL
    -> PerformanceConfigurationINTEL -> IO ())
-> Storable PerformanceConfigurationINTEL
forall b. Ptr b -> Int -> IO PerformanceConfigurationINTEL
forall b. Ptr b -> Int -> PerformanceConfigurationINTEL -> 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 PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> IO ()
$cpoke :: Ptr PerformanceConfigurationINTEL
-> PerformanceConfigurationINTEL -> IO ()
peek :: Ptr PerformanceConfigurationINTEL
-> IO PerformanceConfigurationINTEL
$cpeek :: Ptr PerformanceConfigurationINTEL
-> IO PerformanceConfigurationINTEL
pokeByteOff :: Ptr b -> Int -> PerformanceConfigurationINTEL -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> PerformanceConfigurationINTEL -> IO ()
peekByteOff :: Ptr b -> Int -> IO PerformanceConfigurationINTEL
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PerformanceConfigurationINTEL
pokeElemOff :: Ptr PerformanceConfigurationINTEL
-> Int -> PerformanceConfigurationINTEL -> IO ()
$cpokeElemOff :: Ptr PerformanceConfigurationINTEL
-> Int -> PerformanceConfigurationINTEL -> IO ()
peekElemOff :: Ptr PerformanceConfigurationINTEL
-> Int -> IO PerformanceConfigurationINTEL
$cpeekElemOff :: Ptr PerformanceConfigurationINTEL
-> Int -> IO PerformanceConfigurationINTEL
alignment :: PerformanceConfigurationINTEL -> Int
$calignment :: PerformanceConfigurationINTEL -> Int
sizeOf :: PerformanceConfigurationINTEL -> Int
$csizeOf :: PerformanceConfigurationINTEL -> Int
Storable, PerformanceConfigurationINTEL
PerformanceConfigurationINTEL -> Zero PerformanceConfigurationINTEL
forall a. a -> Zero a
zero :: PerformanceConfigurationINTEL
$czero :: PerformanceConfigurationINTEL
Zero)
  deriving anyclass (Eq PerformanceConfigurationINTEL
Zero PerformanceConfigurationINTEL
Eq PerformanceConfigurationINTEL
-> Zero PerformanceConfigurationINTEL
-> IsHandle PerformanceConfigurationINTEL
forall a. Eq a -> Zero a -> IsHandle a
$cp2IsHandle :: Zero PerformanceConfigurationINTEL
$cp1IsHandle :: Eq PerformanceConfigurationINTEL
IsHandle)
instance HasObjectType PerformanceConfigurationINTEL where
  objectTypeAndHandle :: PerformanceConfigurationINTEL -> (ObjectType, Word64)
objectTypeAndHandle (PerformanceConfigurationINTEL Word64
h) = (ObjectType
OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL, Word64
h)
instance Show PerformanceConfigurationINTEL where
  showsPrec :: Int -> PerformanceConfigurationINTEL -> ShowS
showsPrec Int
p (PerformanceConfigurationINTEL Word64
x) = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"PerformanceConfigurationINTEL 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word64
x)


-- | VkBufferCollectionFUCHSIA - Opaque handle to a buffer collection object
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA',
-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA',
-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA',
-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.createBufferCollectionFUCHSIA',
-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.destroyBufferCollectionFUCHSIA',
-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.getBufferCollectionPropertiesFUCHSIA',
-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.setBufferCollectionBufferConstraintsFUCHSIA',
-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.setBufferCollectionImageConstraintsFUCHSIA'
newtype BufferCollectionFUCHSIA = BufferCollectionFUCHSIA Word64
  deriving newtype (BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool
(BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool)
-> (BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool)
-> Eq BufferCollectionFUCHSIA
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool
$c/= :: BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool
== :: BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool
$c== :: BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool
Eq, Eq BufferCollectionFUCHSIA
Eq BufferCollectionFUCHSIA
-> (BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Ordering)
-> (BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool)
-> (BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool)
-> (BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool)
-> (BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool)
-> (BufferCollectionFUCHSIA
    -> BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA)
-> (BufferCollectionFUCHSIA
    -> BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA)
-> Ord BufferCollectionFUCHSIA
BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool
BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Ordering
BufferCollectionFUCHSIA
-> BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA
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 :: BufferCollectionFUCHSIA
-> BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA
$cmin :: BufferCollectionFUCHSIA
-> BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA
max :: BufferCollectionFUCHSIA
-> BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA
$cmax :: BufferCollectionFUCHSIA
-> BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA
>= :: BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool
$c>= :: BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool
> :: BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool
$c> :: BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool
<= :: BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool
$c<= :: BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool
< :: BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool
$c< :: BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Bool
compare :: BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Ordering
$ccompare :: BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> Ordering
$cp1Ord :: Eq BufferCollectionFUCHSIA
Ord, Ptr b -> Int -> IO BufferCollectionFUCHSIA
Ptr b -> Int -> BufferCollectionFUCHSIA -> IO ()
Ptr BufferCollectionFUCHSIA -> IO BufferCollectionFUCHSIA
Ptr BufferCollectionFUCHSIA -> Int -> IO BufferCollectionFUCHSIA
Ptr BufferCollectionFUCHSIA
-> Int -> BufferCollectionFUCHSIA -> IO ()
Ptr BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> IO ()
BufferCollectionFUCHSIA -> Int
(BufferCollectionFUCHSIA -> Int)
-> (BufferCollectionFUCHSIA -> Int)
-> (Ptr BufferCollectionFUCHSIA
    -> Int -> IO BufferCollectionFUCHSIA)
-> (Ptr BufferCollectionFUCHSIA
    -> Int -> BufferCollectionFUCHSIA -> IO ())
-> (forall b. Ptr b -> Int -> IO BufferCollectionFUCHSIA)
-> (forall b. Ptr b -> Int -> BufferCollectionFUCHSIA -> IO ())
-> (Ptr BufferCollectionFUCHSIA -> IO BufferCollectionFUCHSIA)
-> (Ptr BufferCollectionFUCHSIA
    -> BufferCollectionFUCHSIA -> IO ())
-> Storable BufferCollectionFUCHSIA
forall b. Ptr b -> Int -> IO BufferCollectionFUCHSIA
forall b. Ptr b -> Int -> BufferCollectionFUCHSIA -> 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 BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> IO ()
$cpoke :: Ptr BufferCollectionFUCHSIA -> BufferCollectionFUCHSIA -> IO ()
peek :: Ptr BufferCollectionFUCHSIA -> IO BufferCollectionFUCHSIA
$cpeek :: Ptr BufferCollectionFUCHSIA -> IO BufferCollectionFUCHSIA
pokeByteOff :: Ptr b -> Int -> BufferCollectionFUCHSIA -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> BufferCollectionFUCHSIA -> IO ()
peekByteOff :: Ptr b -> Int -> IO BufferCollectionFUCHSIA
$cpeekByteOff :: forall b. Ptr b -> Int -> IO BufferCollectionFUCHSIA
pokeElemOff :: Ptr BufferCollectionFUCHSIA
-> Int -> BufferCollectionFUCHSIA -> IO ()
$cpokeElemOff :: Ptr BufferCollectionFUCHSIA
-> Int -> BufferCollectionFUCHSIA -> IO ()
peekElemOff :: Ptr BufferCollectionFUCHSIA -> Int -> IO BufferCollectionFUCHSIA
$cpeekElemOff :: Ptr BufferCollectionFUCHSIA -> Int -> IO BufferCollectionFUCHSIA
alignment :: BufferCollectionFUCHSIA -> Int
$calignment :: BufferCollectionFUCHSIA -> Int
sizeOf :: BufferCollectionFUCHSIA -> Int
$csizeOf :: BufferCollectionFUCHSIA -> Int
Storable, BufferCollectionFUCHSIA
BufferCollectionFUCHSIA -> Zero BufferCollectionFUCHSIA
forall a. a -> Zero a
zero :: BufferCollectionFUCHSIA
$czero :: BufferCollectionFUCHSIA
Zero)
  deriving anyclass (Eq BufferCollectionFUCHSIA
Zero BufferCollectionFUCHSIA
Eq BufferCollectionFUCHSIA
-> Zero BufferCollectionFUCHSIA -> IsHandle BufferCollectionFUCHSIA
forall a. Eq a -> Zero a -> IsHandle a
$cp2IsHandle :: Zero BufferCollectionFUCHSIA
$cp1IsHandle :: Eq BufferCollectionFUCHSIA
IsHandle)
instance HasObjectType BufferCollectionFUCHSIA where
  objectTypeAndHandle :: BufferCollectionFUCHSIA -> (ObjectType, Word64)
objectTypeAndHandle (BufferCollectionFUCHSIA Word64
h) = (ObjectType
OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA, Word64
h)
instance Show BufferCollectionFUCHSIA where
  showsPrec :: Int -> BufferCollectionFUCHSIA -> ShowS
showsPrec Int
p (BufferCollectionFUCHSIA Word64
x) = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"BufferCollectionFUCHSIA 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word64
x)


-- | VkDeferredOperationKHR - A deferred operation
--
-- = Description
--
-- This handle refers to a tracking structure which manages the execution
-- state for a deferred command.
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_deferred_host_operations VK_KHR_deferred_host_operations>,
-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.buildAccelerationStructuresKHR',
-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.copyAccelerationStructureKHR',
-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.copyAccelerationStructureToMemoryKHR',
-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.copyMemoryToAccelerationStructureKHR',
-- 'Vulkan.Extensions.VK_KHR_deferred_host_operations.createDeferredOperationKHR',
-- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.createRayTracingPipelinesKHR',
-- 'Vulkan.Extensions.VK_KHR_deferred_host_operations.deferredOperationJoinKHR',
-- 'Vulkan.Extensions.VK_KHR_deferred_host_operations.destroyDeferredOperationKHR',
-- 'Vulkan.Extensions.VK_KHR_deferred_host_operations.getDeferredOperationMaxConcurrencyKHR',
-- 'Vulkan.Extensions.VK_KHR_deferred_host_operations.getDeferredOperationResultKHR'
newtype DeferredOperationKHR = DeferredOperationKHR Word64
  deriving newtype (DeferredOperationKHR -> DeferredOperationKHR -> Bool
(DeferredOperationKHR -> DeferredOperationKHR -> Bool)
-> (DeferredOperationKHR -> DeferredOperationKHR -> Bool)
-> Eq DeferredOperationKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeferredOperationKHR -> DeferredOperationKHR -> Bool
$c/= :: DeferredOperationKHR -> DeferredOperationKHR -> Bool
== :: DeferredOperationKHR -> DeferredOperationKHR -> Bool
$c== :: DeferredOperationKHR -> DeferredOperationKHR -> Bool
Eq, Eq DeferredOperationKHR
Eq DeferredOperationKHR
-> (DeferredOperationKHR -> DeferredOperationKHR -> Ordering)
-> (DeferredOperationKHR -> DeferredOperationKHR -> Bool)
-> (DeferredOperationKHR -> DeferredOperationKHR -> Bool)
-> (DeferredOperationKHR -> DeferredOperationKHR -> Bool)
-> (DeferredOperationKHR -> DeferredOperationKHR -> Bool)
-> (DeferredOperationKHR
    -> DeferredOperationKHR -> DeferredOperationKHR)
-> (DeferredOperationKHR
    -> DeferredOperationKHR -> DeferredOperationKHR)
-> Ord DeferredOperationKHR
DeferredOperationKHR -> DeferredOperationKHR -> Bool
DeferredOperationKHR -> DeferredOperationKHR -> Ordering
DeferredOperationKHR
-> DeferredOperationKHR -> DeferredOperationKHR
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 :: DeferredOperationKHR
-> DeferredOperationKHR -> DeferredOperationKHR
$cmin :: DeferredOperationKHR
-> DeferredOperationKHR -> DeferredOperationKHR
max :: DeferredOperationKHR
-> DeferredOperationKHR -> DeferredOperationKHR
$cmax :: DeferredOperationKHR
-> DeferredOperationKHR -> DeferredOperationKHR
>= :: DeferredOperationKHR -> DeferredOperationKHR -> Bool
$c>= :: DeferredOperationKHR -> DeferredOperationKHR -> Bool
> :: DeferredOperationKHR -> DeferredOperationKHR -> Bool
$c> :: DeferredOperationKHR -> DeferredOperationKHR -> Bool
<= :: DeferredOperationKHR -> DeferredOperationKHR -> Bool
$c<= :: DeferredOperationKHR -> DeferredOperationKHR -> Bool
< :: DeferredOperationKHR -> DeferredOperationKHR -> Bool
$c< :: DeferredOperationKHR -> DeferredOperationKHR -> Bool
compare :: DeferredOperationKHR -> DeferredOperationKHR -> Ordering
$ccompare :: DeferredOperationKHR -> DeferredOperationKHR -> Ordering
$cp1Ord :: Eq DeferredOperationKHR
Ord, Ptr b -> Int -> IO DeferredOperationKHR
Ptr b -> Int -> DeferredOperationKHR -> IO ()
Ptr DeferredOperationKHR -> IO DeferredOperationKHR
Ptr DeferredOperationKHR -> Int -> IO DeferredOperationKHR
Ptr DeferredOperationKHR -> Int -> DeferredOperationKHR -> IO ()
Ptr DeferredOperationKHR -> DeferredOperationKHR -> IO ()
DeferredOperationKHR -> Int
(DeferredOperationKHR -> Int)
-> (DeferredOperationKHR -> Int)
-> (Ptr DeferredOperationKHR -> Int -> IO DeferredOperationKHR)
-> (Ptr DeferredOperationKHR
    -> Int -> DeferredOperationKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO DeferredOperationKHR)
-> (forall b. Ptr b -> Int -> DeferredOperationKHR -> IO ())
-> (Ptr DeferredOperationKHR -> IO DeferredOperationKHR)
-> (Ptr DeferredOperationKHR -> DeferredOperationKHR -> IO ())
-> Storable DeferredOperationKHR
forall b. Ptr b -> Int -> IO DeferredOperationKHR
forall b. Ptr b -> Int -> DeferredOperationKHR -> 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 DeferredOperationKHR -> DeferredOperationKHR -> IO ()
$cpoke :: Ptr DeferredOperationKHR -> DeferredOperationKHR -> IO ()
peek :: Ptr DeferredOperationKHR -> IO DeferredOperationKHR
$cpeek :: Ptr DeferredOperationKHR -> IO DeferredOperationKHR
pokeByteOff :: Ptr b -> Int -> DeferredOperationKHR -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> DeferredOperationKHR -> IO ()
peekByteOff :: Ptr b -> Int -> IO DeferredOperationKHR
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DeferredOperationKHR
pokeElemOff :: Ptr DeferredOperationKHR -> Int -> DeferredOperationKHR -> IO ()
$cpokeElemOff :: Ptr DeferredOperationKHR -> Int -> DeferredOperationKHR -> IO ()
peekElemOff :: Ptr DeferredOperationKHR -> Int -> IO DeferredOperationKHR
$cpeekElemOff :: Ptr DeferredOperationKHR -> Int -> IO DeferredOperationKHR
alignment :: DeferredOperationKHR -> Int
$calignment :: DeferredOperationKHR -> Int
sizeOf :: DeferredOperationKHR -> Int
$csizeOf :: DeferredOperationKHR -> Int
Storable, DeferredOperationKHR
DeferredOperationKHR -> Zero DeferredOperationKHR
forall a. a -> Zero a
zero :: DeferredOperationKHR
$czero :: DeferredOperationKHR
Zero)
  deriving anyclass (Eq DeferredOperationKHR
Zero DeferredOperationKHR
Eq DeferredOperationKHR
-> Zero DeferredOperationKHR -> IsHandle DeferredOperationKHR
forall a. Eq a -> Zero a -> IsHandle a
$cp2IsHandle :: Zero DeferredOperationKHR
$cp1IsHandle :: Eq DeferredOperationKHR
IsHandle)
instance HasObjectType DeferredOperationKHR where
  objectTypeAndHandle :: DeferredOperationKHR -> (ObjectType, Word64)
objectTypeAndHandle (DeferredOperationKHR Word64
h) = (ObjectType
OBJECT_TYPE_DEFERRED_OPERATION_KHR, Word64
h)
instance Show DeferredOperationKHR where
  showsPrec :: Int -> DeferredOperationKHR -> ShowS
showsPrec Int
p (DeferredOperationKHR Word64
x) = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"DeferredOperationKHR 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word64
x)


-- | VkPrivateDataSlotEXT - Opaque handle to a private data slot object
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_private_data VK_EXT_private_data>,
-- 'Vulkan.Extensions.VK_EXT_private_data.createPrivateDataSlotEXT',
-- 'Vulkan.Extensions.VK_EXT_private_data.destroyPrivateDataSlotEXT',
-- 'Vulkan.Extensions.VK_EXT_private_data.getPrivateDataEXT',
-- 'Vulkan.Extensions.VK_EXT_private_data.setPrivateDataEXT'
newtype PrivateDataSlotEXT = PrivateDataSlotEXT Word64
  deriving newtype (PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool
(PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool)
-> (PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool)
-> Eq PrivateDataSlotEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool
$c/= :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool
== :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool
$c== :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool
Eq, Eq PrivateDataSlotEXT
Eq PrivateDataSlotEXT
-> (PrivateDataSlotEXT -> PrivateDataSlotEXT -> Ordering)
-> (PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool)
-> (PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool)
-> (PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool)
-> (PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool)
-> (PrivateDataSlotEXT -> PrivateDataSlotEXT -> PrivateDataSlotEXT)
-> (PrivateDataSlotEXT -> PrivateDataSlotEXT -> PrivateDataSlotEXT)
-> Ord PrivateDataSlotEXT
PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool
PrivateDataSlotEXT -> PrivateDataSlotEXT -> Ordering
PrivateDataSlotEXT -> PrivateDataSlotEXT -> PrivateDataSlotEXT
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 :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> PrivateDataSlotEXT
$cmin :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> PrivateDataSlotEXT
max :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> PrivateDataSlotEXT
$cmax :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> PrivateDataSlotEXT
>= :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool
$c>= :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool
> :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool
$c> :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool
<= :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool
$c<= :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool
< :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool
$c< :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> Bool
compare :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> Ordering
$ccompare :: PrivateDataSlotEXT -> PrivateDataSlotEXT -> Ordering
$cp1Ord :: Eq PrivateDataSlotEXT
Ord, Ptr b -> Int -> IO PrivateDataSlotEXT
Ptr b -> Int -> PrivateDataSlotEXT -> IO ()
Ptr PrivateDataSlotEXT -> IO PrivateDataSlotEXT
Ptr PrivateDataSlotEXT -> Int -> IO PrivateDataSlotEXT
Ptr PrivateDataSlotEXT -> Int -> PrivateDataSlotEXT -> IO ()
Ptr PrivateDataSlotEXT -> PrivateDataSlotEXT -> IO ()
PrivateDataSlotEXT -> Int
(PrivateDataSlotEXT -> Int)
-> (PrivateDataSlotEXT -> Int)
-> (Ptr PrivateDataSlotEXT -> Int -> IO PrivateDataSlotEXT)
-> (Ptr PrivateDataSlotEXT -> Int -> PrivateDataSlotEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO PrivateDataSlotEXT)
-> (forall b. Ptr b -> Int -> PrivateDataSlotEXT -> IO ())
-> (Ptr PrivateDataSlotEXT -> IO PrivateDataSlotEXT)
-> (Ptr PrivateDataSlotEXT -> PrivateDataSlotEXT -> IO ())
-> Storable PrivateDataSlotEXT
forall b. Ptr b -> Int -> IO PrivateDataSlotEXT
forall b. Ptr b -> Int -> PrivateDataSlotEXT -> 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 PrivateDataSlotEXT -> PrivateDataSlotEXT -> IO ()
$cpoke :: Ptr PrivateDataSlotEXT -> PrivateDataSlotEXT -> IO ()
peek :: Ptr PrivateDataSlotEXT -> IO PrivateDataSlotEXT
$cpeek :: Ptr PrivateDataSlotEXT -> IO PrivateDataSlotEXT
pokeByteOff :: Ptr b -> Int -> PrivateDataSlotEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> PrivateDataSlotEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO PrivateDataSlotEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PrivateDataSlotEXT
pokeElemOff :: Ptr PrivateDataSlotEXT -> Int -> PrivateDataSlotEXT -> IO ()
$cpokeElemOff :: Ptr PrivateDataSlotEXT -> Int -> PrivateDataSlotEXT -> IO ()
peekElemOff :: Ptr PrivateDataSlotEXT -> Int -> IO PrivateDataSlotEXT
$cpeekElemOff :: Ptr PrivateDataSlotEXT -> Int -> IO PrivateDataSlotEXT
alignment :: PrivateDataSlotEXT -> Int
$calignment :: PrivateDataSlotEXT -> Int
sizeOf :: PrivateDataSlotEXT -> Int
$csizeOf :: PrivateDataSlotEXT -> Int
Storable, PrivateDataSlotEXT
PrivateDataSlotEXT -> Zero PrivateDataSlotEXT
forall a. a -> Zero a
zero :: PrivateDataSlotEXT
$czero :: PrivateDataSlotEXT
Zero)
  deriving anyclass (Eq PrivateDataSlotEXT
Zero PrivateDataSlotEXT
Eq PrivateDataSlotEXT
-> Zero PrivateDataSlotEXT -> IsHandle PrivateDataSlotEXT
forall a. Eq a -> Zero a -> IsHandle a
$cp2IsHandle :: Zero PrivateDataSlotEXT
$cp1IsHandle :: Eq PrivateDataSlotEXT
IsHandle)
instance HasObjectType PrivateDataSlotEXT where
  objectTypeAndHandle :: PrivateDataSlotEXT -> (ObjectType, Word64)
objectTypeAndHandle (PrivateDataSlotEXT Word64
h) = (ObjectType
OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT, Word64
h)
instance Show PrivateDataSlotEXT where
  showsPrec :: Int -> PrivateDataSlotEXT -> ShowS
showsPrec Int
p (PrivateDataSlotEXT Word64
x) = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"PrivateDataSlotEXT 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word64
x)


-- | VkCuModuleNVX - Stub description of VkCuModuleNVX
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_binary_import VK_NVX_binary_import>,
-- 'Vulkan.Extensions.VK_NVX_binary_import.CuFunctionCreateInfoNVX',
-- 'Vulkan.Extensions.VK_NVX_binary_import.createCuModuleNVX',
-- 'Vulkan.Extensions.VK_NVX_binary_import.destroyCuModuleNVX'
newtype CuModuleNVX = CuModuleNVX Word64
  deriving newtype (CuModuleNVX -> CuModuleNVX -> Bool
(CuModuleNVX -> CuModuleNVX -> Bool)
-> (CuModuleNVX -> CuModuleNVX -> Bool) -> Eq CuModuleNVX
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CuModuleNVX -> CuModuleNVX -> Bool
$c/= :: CuModuleNVX -> CuModuleNVX -> Bool
== :: CuModuleNVX -> CuModuleNVX -> Bool
$c== :: CuModuleNVX -> CuModuleNVX -> Bool
Eq, Eq CuModuleNVX
Eq CuModuleNVX
-> (CuModuleNVX -> CuModuleNVX -> Ordering)
-> (CuModuleNVX -> CuModuleNVX -> Bool)
-> (CuModuleNVX -> CuModuleNVX -> Bool)
-> (CuModuleNVX -> CuModuleNVX -> Bool)
-> (CuModuleNVX -> CuModuleNVX -> Bool)
-> (CuModuleNVX -> CuModuleNVX -> CuModuleNVX)
-> (CuModuleNVX -> CuModuleNVX -> CuModuleNVX)
-> Ord CuModuleNVX
CuModuleNVX -> CuModuleNVX -> Bool
CuModuleNVX -> CuModuleNVX -> Ordering
CuModuleNVX -> CuModuleNVX -> CuModuleNVX
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 :: CuModuleNVX -> CuModuleNVX -> CuModuleNVX
$cmin :: CuModuleNVX -> CuModuleNVX -> CuModuleNVX
max :: CuModuleNVX -> CuModuleNVX -> CuModuleNVX
$cmax :: CuModuleNVX -> CuModuleNVX -> CuModuleNVX
>= :: CuModuleNVX -> CuModuleNVX -> Bool
$c>= :: CuModuleNVX -> CuModuleNVX -> Bool
> :: CuModuleNVX -> CuModuleNVX -> Bool
$c> :: CuModuleNVX -> CuModuleNVX -> Bool
<= :: CuModuleNVX -> CuModuleNVX -> Bool
$c<= :: CuModuleNVX -> CuModuleNVX -> Bool
< :: CuModuleNVX -> CuModuleNVX -> Bool
$c< :: CuModuleNVX -> CuModuleNVX -> Bool
compare :: CuModuleNVX -> CuModuleNVX -> Ordering
$ccompare :: CuModuleNVX -> CuModuleNVX -> Ordering
$cp1Ord :: Eq CuModuleNVX
Ord, Ptr b -> Int -> IO CuModuleNVX
Ptr b -> Int -> CuModuleNVX -> IO ()
Ptr CuModuleNVX -> IO CuModuleNVX
Ptr CuModuleNVX -> Int -> IO CuModuleNVX
Ptr CuModuleNVX -> Int -> CuModuleNVX -> IO ()
Ptr CuModuleNVX -> CuModuleNVX -> IO ()
CuModuleNVX -> Int
(CuModuleNVX -> Int)
-> (CuModuleNVX -> Int)
-> (Ptr CuModuleNVX -> Int -> IO CuModuleNVX)
-> (Ptr CuModuleNVX -> Int -> CuModuleNVX -> IO ())
-> (forall b. Ptr b -> Int -> IO CuModuleNVX)
-> (forall b. Ptr b -> Int -> CuModuleNVX -> IO ())
-> (Ptr CuModuleNVX -> IO CuModuleNVX)
-> (Ptr CuModuleNVX -> CuModuleNVX -> IO ())
-> Storable CuModuleNVX
forall b. Ptr b -> Int -> IO CuModuleNVX
forall b. Ptr b -> Int -> CuModuleNVX -> 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 CuModuleNVX -> CuModuleNVX -> IO ()
$cpoke :: Ptr CuModuleNVX -> CuModuleNVX -> IO ()
peek :: Ptr CuModuleNVX -> IO CuModuleNVX
$cpeek :: Ptr CuModuleNVX -> IO CuModuleNVX
pokeByteOff :: Ptr b -> Int -> CuModuleNVX -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> CuModuleNVX -> IO ()
peekByteOff :: Ptr b -> Int -> IO CuModuleNVX
$cpeekByteOff :: forall b. Ptr b -> Int -> IO CuModuleNVX
pokeElemOff :: Ptr CuModuleNVX -> Int -> CuModuleNVX -> IO ()
$cpokeElemOff :: Ptr CuModuleNVX -> Int -> CuModuleNVX -> IO ()
peekElemOff :: Ptr CuModuleNVX -> Int -> IO CuModuleNVX
$cpeekElemOff :: Ptr CuModuleNVX -> Int -> IO CuModuleNVX
alignment :: CuModuleNVX -> Int
$calignment :: CuModuleNVX -> Int
sizeOf :: CuModuleNVX -> Int
$csizeOf :: CuModuleNVX -> Int
Storable, CuModuleNVX
CuModuleNVX -> Zero CuModuleNVX
forall a. a -> Zero a
zero :: CuModuleNVX
$czero :: CuModuleNVX
Zero)
  deriving anyclass (Eq CuModuleNVX
Zero CuModuleNVX
Eq CuModuleNVX -> Zero CuModuleNVX -> IsHandle CuModuleNVX
forall a. Eq a -> Zero a -> IsHandle a
$cp2IsHandle :: Zero CuModuleNVX
$cp1IsHandle :: Eq CuModuleNVX
IsHandle)
instance HasObjectType CuModuleNVX where
  objectTypeAndHandle :: CuModuleNVX -> (ObjectType, Word64)
objectTypeAndHandle (CuModuleNVX Word64
h) = (ObjectType
OBJECT_TYPE_CU_MODULE_NVX, Word64
h)
instance Show CuModuleNVX where
  showsPrec :: Int -> CuModuleNVX -> ShowS
showsPrec Int
p (CuModuleNVX Word64
x) = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"CuModuleNVX 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word64
x)


-- | VkCuFunctionNVX - Stub description of VkCuFunctionNVX
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_binary_import VK_NVX_binary_import>,
-- 'Vulkan.Extensions.VK_NVX_binary_import.CuLaunchInfoNVX',
-- 'Vulkan.Extensions.VK_NVX_binary_import.createCuFunctionNVX',
-- 'Vulkan.Extensions.VK_NVX_binary_import.destroyCuFunctionNVX'
newtype CuFunctionNVX = CuFunctionNVX Word64
  deriving newtype (CuFunctionNVX -> CuFunctionNVX -> Bool
(CuFunctionNVX -> CuFunctionNVX -> Bool)
-> (CuFunctionNVX -> CuFunctionNVX -> Bool) -> Eq CuFunctionNVX
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CuFunctionNVX -> CuFunctionNVX -> Bool
$c/= :: CuFunctionNVX -> CuFunctionNVX -> Bool
== :: CuFunctionNVX -> CuFunctionNVX -> Bool
$c== :: CuFunctionNVX -> CuFunctionNVX -> Bool
Eq, Eq CuFunctionNVX
Eq CuFunctionNVX
-> (CuFunctionNVX -> CuFunctionNVX -> Ordering)
-> (CuFunctionNVX -> CuFunctionNVX -> Bool)
-> (CuFunctionNVX -> CuFunctionNVX -> Bool)
-> (CuFunctionNVX -> CuFunctionNVX -> Bool)
-> (CuFunctionNVX -> CuFunctionNVX -> Bool)
-> (CuFunctionNVX -> CuFunctionNVX -> CuFunctionNVX)
-> (CuFunctionNVX -> CuFunctionNVX -> CuFunctionNVX)
-> Ord CuFunctionNVX
CuFunctionNVX -> CuFunctionNVX -> Bool
CuFunctionNVX -> CuFunctionNVX -> Ordering
CuFunctionNVX -> CuFunctionNVX -> CuFunctionNVX
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 :: CuFunctionNVX -> CuFunctionNVX -> CuFunctionNVX
$cmin :: CuFunctionNVX -> CuFunctionNVX -> CuFunctionNVX
max :: CuFunctionNVX -> CuFunctionNVX -> CuFunctionNVX
$cmax :: CuFunctionNVX -> CuFunctionNVX -> CuFunctionNVX
>= :: CuFunctionNVX -> CuFunctionNVX -> Bool
$c>= :: CuFunctionNVX -> CuFunctionNVX -> Bool
> :: CuFunctionNVX -> CuFunctionNVX -> Bool
$c> :: CuFunctionNVX -> CuFunctionNVX -> Bool
<= :: CuFunctionNVX -> CuFunctionNVX -> Bool
$c<= :: CuFunctionNVX -> CuFunctionNVX -> Bool
< :: CuFunctionNVX -> CuFunctionNVX -> Bool
$c< :: CuFunctionNVX -> CuFunctionNVX -> Bool
compare :: CuFunctionNVX -> CuFunctionNVX -> Ordering
$ccompare :: CuFunctionNVX -> CuFunctionNVX -> Ordering
$cp1Ord :: Eq CuFunctionNVX
Ord, Ptr b -> Int -> IO CuFunctionNVX
Ptr b -> Int -> CuFunctionNVX -> IO ()
Ptr CuFunctionNVX -> IO CuFunctionNVX
Ptr CuFunctionNVX -> Int -> IO CuFunctionNVX
Ptr CuFunctionNVX -> Int -> CuFunctionNVX -> IO ()
Ptr CuFunctionNVX -> CuFunctionNVX -> IO ()
CuFunctionNVX -> Int
(CuFunctionNVX -> Int)
-> (CuFunctionNVX -> Int)
-> (Ptr CuFunctionNVX -> Int -> IO CuFunctionNVX)
-> (Ptr CuFunctionNVX -> Int -> CuFunctionNVX -> IO ())
-> (forall b. Ptr b -> Int -> IO CuFunctionNVX)
-> (forall b. Ptr b -> Int -> CuFunctionNVX -> IO ())
-> (Ptr CuFunctionNVX -> IO CuFunctionNVX)
-> (Ptr CuFunctionNVX -> CuFunctionNVX -> IO ())
-> Storable CuFunctionNVX
forall b. Ptr b -> Int -> IO CuFunctionNVX
forall b. Ptr b -> Int -> CuFunctionNVX -> 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 CuFunctionNVX -> CuFunctionNVX -> IO ()
$cpoke :: Ptr CuFunctionNVX -> CuFunctionNVX -> IO ()
peek :: Ptr CuFunctionNVX -> IO CuFunctionNVX
$cpeek :: Ptr CuFunctionNVX -> IO CuFunctionNVX
pokeByteOff :: Ptr b -> Int -> CuFunctionNVX -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> CuFunctionNVX -> IO ()
peekByteOff :: Ptr b -> Int -> IO CuFunctionNVX
$cpeekByteOff :: forall b. Ptr b -> Int -> IO CuFunctionNVX
pokeElemOff :: Ptr CuFunctionNVX -> Int -> CuFunctionNVX -> IO ()
$cpokeElemOff :: Ptr CuFunctionNVX -> Int -> CuFunctionNVX -> IO ()
peekElemOff :: Ptr CuFunctionNVX -> Int -> IO CuFunctionNVX
$cpeekElemOff :: Ptr CuFunctionNVX -> Int -> IO CuFunctionNVX
alignment :: CuFunctionNVX -> Int
$calignment :: CuFunctionNVX -> Int
sizeOf :: CuFunctionNVX -> Int
$csizeOf :: CuFunctionNVX -> Int
Storable, CuFunctionNVX
CuFunctionNVX -> Zero CuFunctionNVX
forall a. a -> Zero a
zero :: CuFunctionNVX
$czero :: CuFunctionNVX
Zero)
  deriving anyclass (Eq CuFunctionNVX
Zero CuFunctionNVX
Eq CuFunctionNVX -> Zero CuFunctionNVX -> IsHandle CuFunctionNVX
forall a. Eq a -> Zero a -> IsHandle a
$cp2IsHandle :: Zero CuFunctionNVX
$cp1IsHandle :: Eq CuFunctionNVX
IsHandle)
instance HasObjectType CuFunctionNVX where
  objectTypeAndHandle :: CuFunctionNVX -> (ObjectType, Word64)
objectTypeAndHandle (CuFunctionNVX Word64
h) = (ObjectType
OBJECT_TYPE_CU_FUNCTION_NVX, Word64
h)
instance Show CuFunctionNVX where
  showsPrec :: Int -> CuFunctionNVX -> ShowS
showsPrec Int
p (CuFunctionNVX Word64
x) = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"CuFunctionNVX 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word64
x)


-- | VkDisplayKHR - Opaque handle to a display object
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
-- 'Vulkan.Extensions.VK_KHR_display.DisplayPlanePropertiesKHR',
-- 'Vulkan.Extensions.VK_KHR_display.DisplayPropertiesKHR',
-- 'Vulkan.Extensions.VK_EXT_acquire_drm_display.acquireDrmDisplayEXT',
-- 'Vulkan.Extensions.VK_NV_acquire_winrt_display.acquireWinrtDisplayNV',
-- 'Vulkan.Extensions.VK_EXT_acquire_xlib_display.acquireXlibDisplayEXT',
-- 'Vulkan.Extensions.VK_KHR_display.createDisplayModeKHR',
-- 'Vulkan.Extensions.VK_EXT_display_control.displayPowerControlEXT',
-- 'Vulkan.Extensions.VK_KHR_get_display_properties2.getDisplayModeProperties2KHR',
-- 'Vulkan.Extensions.VK_KHR_display.getDisplayModePropertiesKHR',
-- 'Vulkan.Extensions.VK_KHR_display.getDisplayPlaneSupportedDisplaysKHR',
-- 'Vulkan.Extensions.VK_EXT_acquire_drm_display.getDrmDisplayEXT',
-- 'Vulkan.Extensions.VK_EXT_acquire_xlib_display.getRandROutputDisplayEXT',
-- 'Vulkan.Extensions.VK_NV_acquire_winrt_display.getWinrtDisplayNV',
-- 'Vulkan.Extensions.VK_EXT_display_control.registerDisplayEventEXT',
-- 'Vulkan.Extensions.VK_EXT_direct_mode_display.releaseDisplayEXT'
newtype DisplayKHR = DisplayKHR Word64
  deriving newtype (DisplayKHR -> DisplayKHR -> Bool
(DisplayKHR -> DisplayKHR -> Bool)
-> (DisplayKHR -> DisplayKHR -> Bool) -> Eq DisplayKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisplayKHR -> DisplayKHR -> Bool
$c/= :: DisplayKHR -> DisplayKHR -> Bool
== :: DisplayKHR -> DisplayKHR -> Bool
$c== :: DisplayKHR -> DisplayKHR -> Bool
Eq, Eq DisplayKHR
Eq DisplayKHR
-> (DisplayKHR -> DisplayKHR -> Ordering)
-> (DisplayKHR -> DisplayKHR -> Bool)
-> (DisplayKHR -> DisplayKHR -> Bool)
-> (DisplayKHR -> DisplayKHR -> Bool)
-> (DisplayKHR -> DisplayKHR -> Bool)
-> (DisplayKHR -> DisplayKHR -> DisplayKHR)
-> (DisplayKHR -> DisplayKHR -> DisplayKHR)
-> Ord DisplayKHR
DisplayKHR -> DisplayKHR -> Bool
DisplayKHR -> DisplayKHR -> Ordering
DisplayKHR -> DisplayKHR -> DisplayKHR
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 :: DisplayKHR -> DisplayKHR -> DisplayKHR
$cmin :: DisplayKHR -> DisplayKHR -> DisplayKHR
max :: DisplayKHR -> DisplayKHR -> DisplayKHR
$cmax :: DisplayKHR -> DisplayKHR -> DisplayKHR
>= :: DisplayKHR -> DisplayKHR -> Bool
$c>= :: DisplayKHR -> DisplayKHR -> Bool
> :: DisplayKHR -> DisplayKHR -> Bool
$c> :: DisplayKHR -> DisplayKHR -> Bool
<= :: DisplayKHR -> DisplayKHR -> Bool
$c<= :: DisplayKHR -> DisplayKHR -> Bool
< :: DisplayKHR -> DisplayKHR -> Bool
$c< :: DisplayKHR -> DisplayKHR -> Bool
compare :: DisplayKHR -> DisplayKHR -> Ordering
$ccompare :: DisplayKHR -> DisplayKHR -> Ordering
$cp1Ord :: Eq DisplayKHR
Ord, Ptr b -> Int -> IO DisplayKHR
Ptr b -> Int -> DisplayKHR -> IO ()
Ptr DisplayKHR -> IO DisplayKHR
Ptr DisplayKHR -> Int -> IO DisplayKHR
Ptr DisplayKHR -> Int -> DisplayKHR -> IO ()
Ptr DisplayKHR -> DisplayKHR -> IO ()
DisplayKHR -> Int
(DisplayKHR -> Int)
-> (DisplayKHR -> Int)
-> (Ptr DisplayKHR -> Int -> IO DisplayKHR)
-> (Ptr DisplayKHR -> Int -> DisplayKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO DisplayKHR)
-> (forall b. Ptr b -> Int -> DisplayKHR -> IO ())
-> (Ptr DisplayKHR -> IO DisplayKHR)
-> (Ptr DisplayKHR -> DisplayKHR -> IO ())
-> Storable DisplayKHR
forall b. Ptr b -> Int -> IO DisplayKHR
forall b. Ptr b -> Int -> DisplayKHR -> 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 DisplayKHR -> DisplayKHR -> IO ()
$cpoke :: Ptr DisplayKHR -> DisplayKHR -> IO ()
peek :: Ptr DisplayKHR -> IO DisplayKHR
$cpeek :: Ptr DisplayKHR -> IO DisplayKHR
pokeByteOff :: Ptr b -> Int -> DisplayKHR -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> DisplayKHR -> IO ()
peekByteOff :: Ptr b -> Int -> IO DisplayKHR
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DisplayKHR
pokeElemOff :: Ptr DisplayKHR -> Int -> DisplayKHR -> IO ()
$cpokeElemOff :: Ptr DisplayKHR -> Int -> DisplayKHR -> IO ()
peekElemOff :: Ptr DisplayKHR -> Int -> IO DisplayKHR
$cpeekElemOff :: Ptr DisplayKHR -> Int -> IO DisplayKHR
alignment :: DisplayKHR -> Int
$calignment :: DisplayKHR -> Int
sizeOf :: DisplayKHR -> Int
$csizeOf :: DisplayKHR -> Int
Storable, DisplayKHR
DisplayKHR -> Zero DisplayKHR
forall a. a -> Zero a
zero :: DisplayKHR
$czero :: DisplayKHR
Zero)
  deriving anyclass (Eq DisplayKHR
Zero DisplayKHR
Eq DisplayKHR -> Zero DisplayKHR -> IsHandle DisplayKHR
forall a. Eq a -> Zero a -> IsHandle a
$cp2IsHandle :: Zero DisplayKHR
$cp1IsHandle :: Eq DisplayKHR
IsHandle)
instance HasObjectType DisplayKHR where
  objectTypeAndHandle :: DisplayKHR -> (ObjectType, Word64)
objectTypeAndHandle (DisplayKHR Word64
h) = (ObjectType
OBJECT_TYPE_DISPLAY_KHR, Word64
h)
instance Show DisplayKHR where
  showsPrec :: Int -> DisplayKHR -> ShowS
showsPrec Int
p (DisplayKHR Word64
x) = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"DisplayKHR 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word64
x)


-- | VkDisplayModeKHR - Opaque handle to a display mode object
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
-- 'Vulkan.Extensions.VK_KHR_display.DisplayModePropertiesKHR',
-- 'Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneInfo2KHR',
-- 'Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateInfoKHR',
-- 'Vulkan.Extensions.VK_KHR_display.createDisplayModeKHR',
-- 'Vulkan.Extensions.VK_KHR_display.getDisplayPlaneCapabilitiesKHR'
newtype DisplayModeKHR = DisplayModeKHR Word64
  deriving newtype (DisplayModeKHR -> DisplayModeKHR -> Bool
(DisplayModeKHR -> DisplayModeKHR -> Bool)
-> (DisplayModeKHR -> DisplayModeKHR -> Bool) -> Eq DisplayModeKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisplayModeKHR -> DisplayModeKHR -> Bool
$c/= :: DisplayModeKHR -> DisplayModeKHR -> Bool
== :: DisplayModeKHR -> DisplayModeKHR -> Bool
$c== :: DisplayModeKHR -> DisplayModeKHR -> Bool
Eq, Eq DisplayModeKHR
Eq DisplayModeKHR
-> (DisplayModeKHR -> DisplayModeKHR -> Ordering)
-> (DisplayModeKHR -> DisplayModeKHR -> Bool)
-> (DisplayModeKHR -> DisplayModeKHR -> Bool)
-> (DisplayModeKHR -> DisplayModeKHR -> Bool)
-> (DisplayModeKHR -> DisplayModeKHR -> Bool)
-> (DisplayModeKHR -> DisplayModeKHR -> DisplayModeKHR)
-> (DisplayModeKHR -> DisplayModeKHR -> DisplayModeKHR)
-> Ord DisplayModeKHR
DisplayModeKHR -> DisplayModeKHR -> Bool
DisplayModeKHR -> DisplayModeKHR -> Ordering
DisplayModeKHR -> DisplayModeKHR -> DisplayModeKHR
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 :: DisplayModeKHR -> DisplayModeKHR -> DisplayModeKHR
$cmin :: DisplayModeKHR -> DisplayModeKHR -> DisplayModeKHR
max :: DisplayModeKHR -> DisplayModeKHR -> DisplayModeKHR
$cmax :: DisplayModeKHR -> DisplayModeKHR -> DisplayModeKHR
>= :: DisplayModeKHR -> DisplayModeKHR -> Bool
$c>= :: DisplayModeKHR -> DisplayModeKHR -> Bool
> :: DisplayModeKHR -> DisplayModeKHR -> Bool
$c> :: DisplayModeKHR -> DisplayModeKHR -> Bool
<= :: DisplayModeKHR -> DisplayModeKHR -> Bool
$c<= :: DisplayModeKHR -> DisplayModeKHR -> Bool
< :: DisplayModeKHR -> DisplayModeKHR -> Bool
$c< :: DisplayModeKHR -> DisplayModeKHR -> Bool
compare :: DisplayModeKHR -> DisplayModeKHR -> Ordering
$ccompare :: DisplayModeKHR -> DisplayModeKHR -> Ordering
$cp1Ord :: Eq DisplayModeKHR
Ord, Ptr b -> Int -> IO DisplayModeKHR
Ptr b -> Int -> DisplayModeKHR -> IO ()
Ptr DisplayModeKHR -> IO DisplayModeKHR
Ptr DisplayModeKHR -> Int -> IO DisplayModeKHR
Ptr DisplayModeKHR -> Int -> DisplayModeKHR -> IO ()
Ptr DisplayModeKHR -> DisplayModeKHR -> IO ()
DisplayModeKHR -> Int
(DisplayModeKHR -> Int)
-> (DisplayModeKHR -> Int)
-> (Ptr DisplayModeKHR -> Int -> IO DisplayModeKHR)
-> (Ptr DisplayModeKHR -> Int -> DisplayModeKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO DisplayModeKHR)
-> (forall b. Ptr b -> Int -> DisplayModeKHR -> IO ())
-> (Ptr DisplayModeKHR -> IO DisplayModeKHR)
-> (Ptr DisplayModeKHR -> DisplayModeKHR -> IO ())
-> Storable DisplayModeKHR
forall b. Ptr b -> Int -> IO DisplayModeKHR
forall b. Ptr b -> Int -> DisplayModeKHR -> 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 DisplayModeKHR -> DisplayModeKHR -> IO ()
$cpoke :: Ptr DisplayModeKHR -> DisplayModeKHR -> IO ()
peek :: Ptr DisplayModeKHR -> IO DisplayModeKHR
$cpeek :: Ptr DisplayModeKHR -> IO DisplayModeKHR
pokeByteOff :: Ptr b -> Int -> DisplayModeKHR -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> DisplayModeKHR -> IO ()
peekByteOff :: Ptr b -> Int -> IO DisplayModeKHR
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DisplayModeKHR
pokeElemOff :: Ptr DisplayModeKHR -> Int -> DisplayModeKHR -> IO ()
$cpokeElemOff :: Ptr DisplayModeKHR -> Int -> DisplayModeKHR -> IO ()
peekElemOff :: Ptr DisplayModeKHR -> Int -> IO DisplayModeKHR
$cpeekElemOff :: Ptr DisplayModeKHR -> Int -> IO DisplayModeKHR
alignment :: DisplayModeKHR -> Int
$calignment :: DisplayModeKHR -> Int
sizeOf :: DisplayModeKHR -> Int
$csizeOf :: DisplayModeKHR -> Int
Storable, DisplayModeKHR
DisplayModeKHR -> Zero DisplayModeKHR
forall a. a -> Zero a
zero :: DisplayModeKHR
$czero :: DisplayModeKHR
Zero)
  deriving anyclass (Eq DisplayModeKHR
Zero DisplayModeKHR
Eq DisplayModeKHR -> Zero DisplayModeKHR -> IsHandle DisplayModeKHR
forall a. Eq a -> Zero a -> IsHandle a
$cp2IsHandle :: Zero DisplayModeKHR
$cp1IsHandle :: Eq DisplayModeKHR
IsHandle)
instance HasObjectType DisplayModeKHR where
  objectTypeAndHandle :: DisplayModeKHR -> (ObjectType, Word64)
objectTypeAndHandle (DisplayModeKHR Word64
h) = (ObjectType
OBJECT_TYPE_DISPLAY_MODE_KHR, Word64
h)
instance Show DisplayModeKHR where
  showsPrec :: Int -> DisplayModeKHR -> ShowS
showsPrec Int
p (DisplayModeKHR Word64
x) = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"DisplayModeKHR 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word64
x)


-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- = Description
--
-- The @VK_KHR_surface@ extension declares the 'SurfaceKHR' object, and
-- provides a function for destroying 'SurfaceKHR' objects. Separate
-- platform-specific extensions each provide a function for creating a
-- 'SurfaceKHR' object for the respective platform. From the application’s
-- perspective this is an opaque handle, just like the handles of other
-- Vulkan objects.
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
-- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.PhysicalDeviceSurfaceInfo2KHR',
-- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR',
-- 'Vulkan.Extensions.VK_KHR_android_surface.createAndroidSurfaceKHR',
-- 'Vulkan.Extensions.VK_EXT_directfb_surface.createDirectFBSurfaceEXT',
-- 'Vulkan.Extensions.VK_KHR_display.createDisplayPlaneSurfaceKHR',
-- 'Vulkan.Extensions.VK_EXT_headless_surface.createHeadlessSurfaceEXT',
-- 'Vulkan.Extensions.VK_MVK_ios_surface.createIOSSurfaceMVK',
-- 'Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface.createImagePipeSurfaceFUCHSIA',
-- 'Vulkan.Extensions.VK_MVK_macos_surface.createMacOSSurfaceMVK',
-- 'Vulkan.Extensions.VK_EXT_metal_surface.createMetalSurfaceEXT',
-- 'Vulkan.Extensions.VK_QNX_screen_surface.createScreenSurfaceQNX',
-- 'Vulkan.Extensions.VK_GGP_stream_descriptor_surface.createStreamDescriptorSurfaceGGP',
-- 'Vulkan.Extensions.VK_NN_vi_surface.createViSurfaceNN',
-- 'Vulkan.Extensions.VK_KHR_wayland_surface.createWaylandSurfaceKHR',
-- 'Vulkan.Extensions.VK_KHR_win32_surface.createWin32SurfaceKHR',
-- 'Vulkan.Extensions.VK_KHR_xcb_surface.createXcbSurfaceKHR',
-- 'Vulkan.Extensions.VK_KHR_xlib_surface.createXlibSurfaceKHR',
-- 'Vulkan.Extensions.VK_KHR_surface.destroySurfaceKHR',
-- 'Vulkan.Extensions.VK_KHR_swapchain.getDeviceGroupSurfacePresentModesKHR',
-- 'Vulkan.Extensions.VK_KHR_swapchain.getPhysicalDevicePresentRectanglesKHR',
-- 'Vulkan.Extensions.VK_EXT_display_surface_counter.getPhysicalDeviceSurfaceCapabilities2EXT',
-- 'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceCapabilitiesKHR',
-- 'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceFormatsKHR',
-- 'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfacePresentModesKHR',
-- 'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceSupportKHR'
newtype SurfaceKHR = SurfaceKHR Word64
  deriving newtype (SurfaceKHR -> SurfaceKHR -> Bool
(SurfaceKHR -> SurfaceKHR -> Bool)
-> (SurfaceKHR -> SurfaceKHR -> Bool) -> Eq SurfaceKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SurfaceKHR -> SurfaceKHR -> Bool
$c/= :: SurfaceKHR -> SurfaceKHR -> Bool
== :: SurfaceKHR -> SurfaceKHR -> Bool
$c== :: SurfaceKHR -> SurfaceKHR -> Bool
Eq, Eq SurfaceKHR
Eq SurfaceKHR
-> (SurfaceKHR -> SurfaceKHR -> Ordering)
-> (SurfaceKHR -> SurfaceKHR -> Bool)
-> (SurfaceKHR -> SurfaceKHR -> Bool)
-> (SurfaceKHR -> SurfaceKHR -> Bool)
-> (SurfaceKHR -> SurfaceKHR -> Bool)
-> (SurfaceKHR -> SurfaceKHR -> SurfaceKHR)
-> (SurfaceKHR -> SurfaceKHR -> SurfaceKHR)
-> Ord SurfaceKHR
SurfaceKHR -> SurfaceKHR -> Bool
SurfaceKHR -> SurfaceKHR -> Ordering
SurfaceKHR -> SurfaceKHR -> SurfaceKHR
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 :: SurfaceKHR -> SurfaceKHR -> SurfaceKHR
$cmin :: SurfaceKHR -> SurfaceKHR -> SurfaceKHR
max :: SurfaceKHR -> SurfaceKHR -> SurfaceKHR
$cmax :: SurfaceKHR -> SurfaceKHR -> SurfaceKHR
>= :: SurfaceKHR -> SurfaceKHR -> Bool
$c>= :: SurfaceKHR -> SurfaceKHR -> Bool
> :: SurfaceKHR -> SurfaceKHR -> Bool
$c> :: SurfaceKHR -> SurfaceKHR -> Bool
<= :: SurfaceKHR -> SurfaceKHR -> Bool
$c<= :: SurfaceKHR -> SurfaceKHR -> Bool
< :: SurfaceKHR -> SurfaceKHR -> Bool
$c< :: SurfaceKHR -> SurfaceKHR -> Bool
compare :: SurfaceKHR -> SurfaceKHR -> Ordering
$ccompare :: SurfaceKHR -> SurfaceKHR -> Ordering
$cp1Ord :: Eq SurfaceKHR
Ord, Ptr b -> Int -> IO SurfaceKHR
Ptr b -> Int -> SurfaceKHR -> IO ()
Ptr SurfaceKHR -> IO SurfaceKHR
Ptr SurfaceKHR -> Int -> IO SurfaceKHR
Ptr SurfaceKHR -> Int -> SurfaceKHR -> IO ()
Ptr SurfaceKHR -> SurfaceKHR -> IO ()
SurfaceKHR -> Int
(SurfaceKHR -> Int)
-> (SurfaceKHR -> Int)
-> (Ptr SurfaceKHR -> Int -> IO SurfaceKHR)
-> (Ptr SurfaceKHR -> Int -> SurfaceKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO SurfaceKHR)
-> (forall b. Ptr b -> Int -> SurfaceKHR -> IO ())
-> (Ptr SurfaceKHR -> IO SurfaceKHR)
-> (Ptr SurfaceKHR -> SurfaceKHR -> IO ())
-> Storable SurfaceKHR
forall b. Ptr b -> Int -> IO SurfaceKHR
forall b. Ptr b -> Int -> SurfaceKHR -> 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 SurfaceKHR -> SurfaceKHR -> IO ()
$cpoke :: Ptr SurfaceKHR -> SurfaceKHR -> IO ()
peek :: Ptr SurfaceKHR -> IO SurfaceKHR
$cpeek :: Ptr SurfaceKHR -> IO SurfaceKHR
pokeByteOff :: Ptr b -> Int -> SurfaceKHR -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> SurfaceKHR -> IO ()
peekByteOff :: Ptr b -> Int -> IO SurfaceKHR
$cpeekByteOff :: forall b. Ptr b -> Int -> IO SurfaceKHR
pokeElemOff :: Ptr SurfaceKHR -> Int -> SurfaceKHR -> IO ()
$cpokeElemOff :: Ptr SurfaceKHR -> Int -> SurfaceKHR -> IO ()
peekElemOff :: Ptr SurfaceKHR -> Int -> IO SurfaceKHR
$cpeekElemOff :: Ptr SurfaceKHR -> Int -> IO SurfaceKHR
alignment :: SurfaceKHR -> Int
$calignment :: SurfaceKHR -> Int
sizeOf :: SurfaceKHR -> Int
$csizeOf :: SurfaceKHR -> Int
Storable, SurfaceKHR
SurfaceKHR -> Zero SurfaceKHR
forall a. a -> Zero a
zero :: SurfaceKHR
$czero :: SurfaceKHR
Zero)
  deriving anyclass (Eq SurfaceKHR
Zero SurfaceKHR
Eq SurfaceKHR -> Zero SurfaceKHR -> IsHandle SurfaceKHR
forall a. Eq a -> Zero a -> IsHandle a
$cp2IsHandle :: Zero SurfaceKHR
$cp1IsHandle :: Eq SurfaceKHR
IsHandle)
instance HasObjectType SurfaceKHR where
  objectTypeAndHandle :: SurfaceKHR -> (ObjectType, Word64)
objectTypeAndHandle (SurfaceKHR Word64
h) = (ObjectType
OBJECT_TYPE_SURFACE_KHR, Word64
h)
instance Show SurfaceKHR where
  showsPrec :: Int -> SurfaceKHR -> ShowS
showsPrec Int
p (SurfaceKHR Word64
x) = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"SurfaceKHR 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word64
x)


-- | VkSwapchainKHR - Opaque handle to a swapchain object
--
-- = Description
--
-- A swapchain is an abstraction for an array of presentable images that
-- are associated with a surface. The presentable images are represented by
-- 'Vulkan.Core10.Handles.Image' objects created by the platform. One image
-- (which /can/ be an array image for multiview\/stereoscopic-3D surfaces)
-- is displayed at a time, but multiple images /can/ be queued for
-- presentation. An application renders to the image, and then queues the
-- image for presentation to the surface.
--
-- A native window /cannot/ be associated with more than one non-retired
-- swapchain at a time. Further, swapchains /cannot/ be created for native
-- windows that have a non-Vulkan graphics API surface associated with
-- them.
--
-- Note
--
-- The presentation engine is an abstraction for the platform’s compositor
-- or display engine.
--
-- The presentation engine /may/ be synchronous or asynchronous with
-- respect to the application and\/or logical device.
--
-- Some implementations /may/ use the device’s graphics queue or dedicated
-- presentation hardware to perform presentation.
--
-- The presentable images of a swapchain are owned by the presentation
-- engine. An application /can/ acquire use of a presentable image from the
-- presentation engine. Use of a presentable image /must/ occur only after
-- the image is returned by
-- 'Vulkan.Extensions.VK_KHR_swapchain.acquireNextImageKHR', and before it
-- is released by 'Vulkan.Extensions.VK_KHR_swapchain.queuePresentKHR'.
-- This includes transitioning the image layout and rendering commands.
--
-- An application /can/ acquire use of a presentable image with
-- 'Vulkan.Extensions.VK_KHR_swapchain.acquireNextImageKHR'. After
-- acquiring a presentable image and before modifying it, the application
-- /must/ use a synchronization primitive to ensure that the presentation
-- engine has finished reading from the image. The application /can/ then
-- transition the image’s layout, queue rendering commands to it, etc.
-- Finally, the application presents the image with
-- 'Vulkan.Extensions.VK_KHR_swapchain.queuePresentKHR', which releases the
-- acquisition of the image.
--
-- The presentation engine controls the order in which presentable images
-- are acquired for use by the application.
--
-- Note
--
-- This allows the platform to handle situations which require out-of-order
-- return of images after presentation. At the same time, it allows the
-- application to generate command buffers referencing all of the images in
-- the swapchain at initialization time, rather than in its main loop.
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
-- 'Vulkan.Extensions.VK_KHR_swapchain.AcquireNextImageInfoKHR',
-- 'Vulkan.Extensions.VK_KHR_swapchain.BindImageMemorySwapchainInfoKHR',
-- 'Vulkan.Extensions.VK_KHR_swapchain.ImageSwapchainCreateInfoKHR',
-- 'Vulkan.Extensions.VK_KHR_swapchain.PresentInfoKHR',
-- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR',
-- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.acquireFullScreenExclusiveModeEXT',
-- 'Vulkan.Extensions.VK_KHR_swapchain.acquireNextImageKHR',
-- 'Vulkan.Extensions.VK_KHR_display_swapchain.createSharedSwapchainsKHR',
-- 'Vulkan.Extensions.VK_KHR_swapchain.createSwapchainKHR',
-- 'Vulkan.Extensions.VK_KHR_swapchain.destroySwapchainKHR',
-- 'Vulkan.Extensions.VK_GOOGLE_display_timing.getPastPresentationTimingGOOGLE',
-- 'Vulkan.Extensions.VK_GOOGLE_display_timing.getRefreshCycleDurationGOOGLE',
-- 'Vulkan.Extensions.VK_EXT_display_control.getSwapchainCounterEXT',
-- 'Vulkan.Extensions.VK_KHR_swapchain.getSwapchainImagesKHR',
-- 'Vulkan.Extensions.VK_KHR_shared_presentable_image.getSwapchainStatusKHR',
-- 'Vulkan.Extensions.VK_KHR_swapchain.queuePresentKHR',
-- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.releaseFullScreenExclusiveModeEXT',
-- 'Vulkan.Extensions.VK_EXT_hdr_metadata.setHdrMetadataEXT',
-- 'Vulkan.Extensions.VK_AMD_display_native_hdr.setLocalDimmingAMD',
-- 'Vulkan.Extensions.VK_KHR_present_wait.waitForPresentKHR'
newtype SwapchainKHR = SwapchainKHR Word64
  deriving newtype (SwapchainKHR -> SwapchainKHR -> Bool
(SwapchainKHR -> SwapchainKHR -> Bool)
-> (SwapchainKHR -> SwapchainKHR -> Bool) -> Eq SwapchainKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SwapchainKHR -> SwapchainKHR -> Bool
$c/= :: SwapchainKHR -> SwapchainKHR -> Bool
== :: SwapchainKHR -> SwapchainKHR -> Bool
$c== :: SwapchainKHR -> SwapchainKHR -> Bool
Eq, Eq SwapchainKHR
Eq SwapchainKHR
-> (SwapchainKHR -> SwapchainKHR -> Ordering)
-> (SwapchainKHR -> SwapchainKHR -> Bool)
-> (SwapchainKHR -> SwapchainKHR -> Bool)
-> (SwapchainKHR -> SwapchainKHR -> Bool)
-> (SwapchainKHR -> SwapchainKHR -> Bool)
-> (SwapchainKHR -> SwapchainKHR -> SwapchainKHR)
-> (SwapchainKHR -> SwapchainKHR -> SwapchainKHR)
-> Ord SwapchainKHR
SwapchainKHR -> SwapchainKHR -> Bool
SwapchainKHR -> SwapchainKHR -> Ordering
SwapchainKHR -> SwapchainKHR -> SwapchainKHR
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 :: SwapchainKHR -> SwapchainKHR -> SwapchainKHR
$cmin :: SwapchainKHR -> SwapchainKHR -> SwapchainKHR
max :: SwapchainKHR -> SwapchainKHR -> SwapchainKHR
$cmax :: SwapchainKHR -> SwapchainKHR -> SwapchainKHR
>= :: SwapchainKHR -> SwapchainKHR -> Bool
$c>= :: SwapchainKHR -> SwapchainKHR -> Bool
> :: SwapchainKHR -> SwapchainKHR -> Bool
$c> :: SwapchainKHR -> SwapchainKHR -> Bool
<= :: SwapchainKHR -> SwapchainKHR -> Bool
$c<= :: SwapchainKHR -> SwapchainKHR -> Bool
< :: SwapchainKHR -> SwapchainKHR -> Bool
$c< :: SwapchainKHR -> SwapchainKHR -> Bool
compare :: SwapchainKHR -> SwapchainKHR -> Ordering
$ccompare :: SwapchainKHR -> SwapchainKHR -> Ordering
$cp1Ord :: Eq SwapchainKHR
Ord, Ptr b -> Int -> IO SwapchainKHR
Ptr b -> Int -> SwapchainKHR -> IO ()
Ptr SwapchainKHR -> IO SwapchainKHR
Ptr SwapchainKHR -> Int -> IO SwapchainKHR
Ptr SwapchainKHR -> Int -> SwapchainKHR -> IO ()
Ptr SwapchainKHR -> SwapchainKHR -> IO ()
SwapchainKHR -> Int
(SwapchainKHR -> Int)
-> (SwapchainKHR -> Int)
-> (Ptr SwapchainKHR -> Int -> IO SwapchainKHR)
-> (Ptr SwapchainKHR -> Int -> SwapchainKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO SwapchainKHR)
-> (forall b. Ptr b -> Int -> SwapchainKHR -> IO ())
-> (Ptr SwapchainKHR -> IO SwapchainKHR)
-> (Ptr SwapchainKHR -> SwapchainKHR -> IO ())
-> Storable SwapchainKHR
forall b. Ptr b -> Int -> IO SwapchainKHR
forall b. Ptr b -> Int -> SwapchainKHR -> 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 SwapchainKHR -> SwapchainKHR -> IO ()
$cpoke :: Ptr SwapchainKHR -> SwapchainKHR -> IO ()
peek :: Ptr SwapchainKHR -> IO SwapchainKHR
$cpeek :: Ptr SwapchainKHR -> IO SwapchainKHR
pokeByteOff :: Ptr b -> Int -> SwapchainKHR -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> SwapchainKHR -> IO ()
peekByteOff :: Ptr b -> Int -> IO SwapchainKHR
$cpeekByteOff :: forall b. Ptr b -> Int -> IO SwapchainKHR
pokeElemOff :: Ptr SwapchainKHR -> Int -> SwapchainKHR -> IO ()
$cpokeElemOff :: Ptr SwapchainKHR -> Int -> SwapchainKHR -> IO ()
peekElemOff :: Ptr SwapchainKHR -> Int -> IO SwapchainKHR
$cpeekElemOff :: Ptr SwapchainKHR -> Int -> IO SwapchainKHR
alignment :: SwapchainKHR -> Int
$calignment :: SwapchainKHR -> Int
sizeOf :: SwapchainKHR -> Int
$csizeOf :: SwapchainKHR -> Int
Storable, SwapchainKHR
SwapchainKHR -> Zero SwapchainKHR
forall a. a -> Zero a
zero :: SwapchainKHR
$czero :: SwapchainKHR
Zero)
  deriving anyclass (Eq SwapchainKHR
Zero SwapchainKHR
Eq SwapchainKHR -> Zero SwapchainKHR -> IsHandle SwapchainKHR
forall a. Eq a -> Zero a -> IsHandle a
$cp2IsHandle :: Zero SwapchainKHR
$cp1IsHandle :: Eq SwapchainKHR
IsHandle)
instance HasObjectType SwapchainKHR where
  objectTypeAndHandle :: SwapchainKHR -> (ObjectType, Word64)
objectTypeAndHandle (SwapchainKHR Word64
h) = (ObjectType
OBJECT_TYPE_SWAPCHAIN_KHR, Word64
h)
instance Show SwapchainKHR where
  showsPrec :: Int -> SwapchainKHR -> ShowS
showsPrec Int
p (SwapchainKHR Word64
x) = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"SwapchainKHR 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word64
x)


-- | VkDebugReportCallbackEXT - Opaque handle to a debug report callback
-- object
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_report VK_EXT_debug_report>,
-- 'Vulkan.Extensions.VK_EXT_debug_report.createDebugReportCallbackEXT',
-- 'Vulkan.Extensions.VK_EXT_debug_report.destroyDebugReportCallbackEXT'
newtype DebugReportCallbackEXT = DebugReportCallbackEXT Word64
  deriving newtype (DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool
(DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool)
-> (DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool)
-> Eq DebugReportCallbackEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool
$c/= :: DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool
== :: DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool
$c== :: DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool
Eq, Eq DebugReportCallbackEXT
Eq DebugReportCallbackEXT
-> (DebugReportCallbackEXT -> DebugReportCallbackEXT -> Ordering)
-> (DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool)
-> (DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool)
-> (DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool)
-> (DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool)
-> (DebugReportCallbackEXT
    -> DebugReportCallbackEXT -> DebugReportCallbackEXT)
-> (DebugReportCallbackEXT
    -> DebugReportCallbackEXT -> DebugReportCallbackEXT)
-> Ord DebugReportCallbackEXT
DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool
DebugReportCallbackEXT -> DebugReportCallbackEXT -> Ordering
DebugReportCallbackEXT
-> DebugReportCallbackEXT -> DebugReportCallbackEXT
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 :: DebugReportCallbackEXT
-> DebugReportCallbackEXT -> DebugReportCallbackEXT
$cmin :: DebugReportCallbackEXT
-> DebugReportCallbackEXT -> DebugReportCallbackEXT
max :: DebugReportCallbackEXT
-> DebugReportCallbackEXT -> DebugReportCallbackEXT
$cmax :: DebugReportCallbackEXT
-> DebugReportCallbackEXT -> DebugReportCallbackEXT
>= :: DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool
$c>= :: DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool
> :: DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool
$c> :: DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool
<= :: DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool
$c<= :: DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool
< :: DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool
$c< :: DebugReportCallbackEXT -> DebugReportCallbackEXT -> Bool
compare :: DebugReportCallbackEXT -> DebugReportCallbackEXT -> Ordering
$ccompare :: DebugReportCallbackEXT -> DebugReportCallbackEXT -> Ordering
$cp1Ord :: Eq DebugReportCallbackEXT
Ord, Ptr b -> Int -> IO DebugReportCallbackEXT
Ptr b -> Int -> DebugReportCallbackEXT -> IO ()
Ptr DebugReportCallbackEXT -> IO DebugReportCallbackEXT
Ptr DebugReportCallbackEXT -> Int -> IO DebugReportCallbackEXT
Ptr DebugReportCallbackEXT
-> Int -> DebugReportCallbackEXT -> IO ()
Ptr DebugReportCallbackEXT -> DebugReportCallbackEXT -> IO ()
DebugReportCallbackEXT -> Int
(DebugReportCallbackEXT -> Int)
-> (DebugReportCallbackEXT -> Int)
-> (Ptr DebugReportCallbackEXT -> Int -> IO DebugReportCallbackEXT)
-> (Ptr DebugReportCallbackEXT
    -> Int -> DebugReportCallbackEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO DebugReportCallbackEXT)
-> (forall b. Ptr b -> Int -> DebugReportCallbackEXT -> IO ())
-> (Ptr DebugReportCallbackEXT -> IO DebugReportCallbackEXT)
-> (Ptr DebugReportCallbackEXT -> DebugReportCallbackEXT -> IO ())
-> Storable DebugReportCallbackEXT
forall b. Ptr b -> Int -> IO DebugReportCallbackEXT
forall b. Ptr b -> Int -> DebugReportCallbackEXT -> 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 DebugReportCallbackEXT -> DebugReportCallbackEXT -> IO ()
$cpoke :: Ptr DebugReportCallbackEXT -> DebugReportCallbackEXT -> IO ()
peek :: Ptr DebugReportCallbackEXT -> IO DebugReportCallbackEXT
$cpeek :: Ptr DebugReportCallbackEXT -> IO DebugReportCallbackEXT
pokeByteOff :: Ptr b -> Int -> DebugReportCallbackEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> DebugReportCallbackEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO DebugReportCallbackEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DebugReportCallbackEXT
pokeElemOff :: Ptr DebugReportCallbackEXT
-> Int -> DebugReportCallbackEXT -> IO ()
$cpokeElemOff :: Ptr DebugReportCallbackEXT
-> Int -> DebugReportCallbackEXT -> IO ()
peekElemOff :: Ptr DebugReportCallbackEXT -> Int -> IO DebugReportCallbackEXT
$cpeekElemOff :: Ptr DebugReportCallbackEXT -> Int -> IO DebugReportCallbackEXT
alignment :: DebugReportCallbackEXT -> Int
$calignment :: DebugReportCallbackEXT -> Int
sizeOf :: DebugReportCallbackEXT -> Int
$csizeOf :: DebugReportCallbackEXT -> Int
Storable, DebugReportCallbackEXT
DebugReportCallbackEXT -> Zero DebugReportCallbackEXT
forall a. a -> Zero a
zero :: DebugReportCallbackEXT
$czero :: DebugReportCallbackEXT
Zero)
  deriving anyclass (Eq DebugReportCallbackEXT
Zero DebugReportCallbackEXT
Eq DebugReportCallbackEXT
-> Zero DebugReportCallbackEXT -> IsHandle DebugReportCallbackEXT
forall a. Eq a -> Zero a -> IsHandle a
$cp2IsHandle :: Zero DebugReportCallbackEXT
$cp1IsHandle :: Eq DebugReportCallbackEXT
IsHandle)
instance HasObjectType DebugReportCallbackEXT where
  objectTypeAndHandle :: DebugReportCallbackEXT -> (ObjectType, Word64)
objectTypeAndHandle (DebugReportCallbackEXT Word64
h) = (ObjectType
OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT, Word64
h)
instance Show DebugReportCallbackEXT where
  showsPrec :: Int -> DebugReportCallbackEXT -> ShowS
showsPrec Int
p (DebugReportCallbackEXT Word64
x) = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"DebugReportCallbackEXT 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word64
x)


-- | VkDebugUtilsMessengerEXT - Opaque handle to a debug messenger object
--
-- = Description
--
-- The debug messenger will provide detailed feedback on the application’s
-- use of Vulkan when events of interest occur. When an event of interest
-- does occur, the debug messenger will submit a debug message to the debug
-- callback that was provided during its creation. Additionally, the debug
-- messenger is responsible with filtering out debug messages that the
-- callback is not interested in and will only provide desired debug
-- messages.
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
-- 'Vulkan.Extensions.VK_EXT_debug_utils.createDebugUtilsMessengerEXT',
-- 'Vulkan.Extensions.VK_EXT_debug_utils.destroyDebugUtilsMessengerEXT'
newtype DebugUtilsMessengerEXT = DebugUtilsMessengerEXT Word64
  deriving newtype (DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool
(DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool)
-> (DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool)
-> Eq DebugUtilsMessengerEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool
$c/= :: DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool
== :: DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool
$c== :: DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool
Eq, Eq DebugUtilsMessengerEXT
Eq DebugUtilsMessengerEXT
-> (DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Ordering)
-> (DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool)
-> (DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool)
-> (DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool)
-> (DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool)
-> (DebugUtilsMessengerEXT
    -> DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT)
-> (DebugUtilsMessengerEXT
    -> DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT)
-> Ord DebugUtilsMessengerEXT
DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool
DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Ordering
DebugUtilsMessengerEXT
-> DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT
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 :: DebugUtilsMessengerEXT
-> DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT
$cmin :: DebugUtilsMessengerEXT
-> DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT
max :: DebugUtilsMessengerEXT
-> DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT
$cmax :: DebugUtilsMessengerEXT
-> DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT
>= :: DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool
$c>= :: DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool
> :: DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool
$c> :: DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool
<= :: DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool
$c<= :: DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool
< :: DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool
$c< :: DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Bool
compare :: DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Ordering
$ccompare :: DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> Ordering
$cp1Ord :: Eq DebugUtilsMessengerEXT
Ord, Ptr b -> Int -> IO DebugUtilsMessengerEXT
Ptr b -> Int -> DebugUtilsMessengerEXT -> IO ()
Ptr DebugUtilsMessengerEXT -> IO DebugUtilsMessengerEXT
Ptr DebugUtilsMessengerEXT -> Int -> IO DebugUtilsMessengerEXT
Ptr DebugUtilsMessengerEXT
-> Int -> DebugUtilsMessengerEXT -> IO ()
Ptr DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> IO ()
DebugUtilsMessengerEXT -> Int
(DebugUtilsMessengerEXT -> Int)
-> (DebugUtilsMessengerEXT -> Int)
-> (Ptr DebugUtilsMessengerEXT -> Int -> IO DebugUtilsMessengerEXT)
-> (Ptr DebugUtilsMessengerEXT
    -> Int -> DebugUtilsMessengerEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO DebugUtilsMessengerEXT)
-> (forall b. Ptr b -> Int -> DebugUtilsMessengerEXT -> IO ())
-> (Ptr DebugUtilsMessengerEXT -> IO DebugUtilsMessengerEXT)
-> (Ptr DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> IO ())
-> Storable DebugUtilsMessengerEXT
forall b. Ptr b -> Int -> IO DebugUtilsMessengerEXT
forall b. Ptr b -> Int -> DebugUtilsMessengerEXT -> 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 DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> IO ()
$cpoke :: Ptr DebugUtilsMessengerEXT -> DebugUtilsMessengerEXT -> IO ()
peek :: Ptr DebugUtilsMessengerEXT -> IO DebugUtilsMessengerEXT
$cpeek :: Ptr DebugUtilsMessengerEXT -> IO DebugUtilsMessengerEXT
pokeByteOff :: Ptr b -> Int -> DebugUtilsMessengerEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> DebugUtilsMessengerEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO DebugUtilsMessengerEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DebugUtilsMessengerEXT
pokeElemOff :: Ptr DebugUtilsMessengerEXT
-> Int -> DebugUtilsMessengerEXT -> IO ()
$cpokeElemOff :: Ptr DebugUtilsMessengerEXT
-> Int -> DebugUtilsMessengerEXT -> IO ()
peekElemOff :: Ptr DebugUtilsMessengerEXT -> Int -> IO DebugUtilsMessengerEXT
$cpeekElemOff :: Ptr DebugUtilsMessengerEXT -> Int -> IO DebugUtilsMessengerEXT
alignment :: DebugUtilsMessengerEXT -> Int
$calignment :: DebugUtilsMessengerEXT -> Int
sizeOf :: DebugUtilsMessengerEXT -> Int
$csizeOf :: DebugUtilsMessengerEXT -> Int
Storable, DebugUtilsMessengerEXT
DebugUtilsMessengerEXT -> Zero DebugUtilsMessengerEXT
forall a. a -> Zero a
zero :: DebugUtilsMessengerEXT
$czero :: DebugUtilsMessengerEXT
Zero)
  deriving anyclass (Eq DebugUtilsMessengerEXT
Zero DebugUtilsMessengerEXT
Eq DebugUtilsMessengerEXT
-> Zero DebugUtilsMessengerEXT -> IsHandle DebugUtilsMessengerEXT
forall a. Eq a -> Zero a -> IsHandle a
$cp2IsHandle :: Zero DebugUtilsMessengerEXT
$cp1IsHandle :: Eq DebugUtilsMessengerEXT
IsHandle)
instance HasObjectType DebugUtilsMessengerEXT where
  objectTypeAndHandle :: DebugUtilsMessengerEXT -> (ObjectType, Word64)
objectTypeAndHandle (DebugUtilsMessengerEXT Word64
h) = (ObjectType
OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT, Word64
h)
instance Show DebugUtilsMessengerEXT where
  showsPrec :: Int -> DebugUtilsMessengerEXT -> ShowS
showsPrec Int
p (DebugUtilsMessengerEXT Word64
x) = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"DebugUtilsMessengerEXT 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word64
x)